@withpica/mcp-server 2.39.0 → 2.43.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 (206) hide show
  1. package/CHANGELOG.md +180 -11
  2. package/dist/resources/agent-guide.d.ts +15 -0
  3. package/dist/resources/agent-guide.d.ts.map +1 -0
  4. package/dist/resources/agent-guide.js +120 -0
  5. package/dist/resources/agent-guide.js.map +1 -0
  6. package/dist/resources/index.d.ts.map +1 -1
  7. package/dist/resources/index.js +66 -12
  8. package/dist/resources/index.js.map +1 -1
  9. package/dist/resources/required-schemas.generated.d.ts +128 -0
  10. package/dist/resources/required-schemas.generated.d.ts.map +1 -0
  11. package/dist/resources/required-schemas.generated.js +344 -0
  12. package/dist/resources/required-schemas.generated.js.map +1 -0
  13. package/dist/resources/required-schemas.source.d.ts +53 -0
  14. package/dist/resources/required-schemas.source.d.ts.map +1 -0
  15. package/dist/resources/required-schemas.source.js +127 -0
  16. package/dist/resources/required-schemas.source.js.map +1 -0
  17. package/dist/resources/welcome.d.ts +14 -0
  18. package/dist/resources/welcome.d.ts.map +1 -0
  19. package/dist/resources/welcome.js +26 -0
  20. package/dist/resources/welcome.js.map +1 -0
  21. package/dist/server-instructions.d.ts +23 -0
  22. package/dist/server-instructions.d.ts.map +1 -1
  23. package/dist/server-instructions.js +27 -0
  24. package/dist/server-instructions.js.map +1 -1
  25. package/dist/tools/agent-identity.d.ts.map +1 -1
  26. package/dist/tools/agent-identity.js +5 -0
  27. package/dist/tools/agent-identity.js.map +1 -1
  28. package/dist/tools/agreement-types.d.ts.map +1 -1
  29. package/dist/tools/agreement-types.js +8 -0
  30. package/dist/tools/agreement-types.js.map +1 -1
  31. package/dist/tools/agreements.d.ts.map +1 -1
  32. package/dist/tools/agreements.js +6 -0
  33. package/dist/tools/agreements.js.map +1 -1
  34. package/dist/tools/analytics.d.ts.map +1 -1
  35. package/dist/tools/analytics.js +6 -0
  36. package/dist/tools/analytics.js.map +1 -1
  37. package/dist/tools/app-tools.d.ts.map +1 -1
  38. package/dist/tools/app-tools.js +3 -0
  39. package/dist/tools/app-tools.js.map +1 -1
  40. package/dist/tools/assets.d.ts.map +1 -1
  41. package/dist/tools/assets.js +11 -0
  42. package/dist/tools/assets.js.map +1 -1
  43. package/dist/tools/audio-files.d.ts.map +1 -1
  44. package/dist/tools/audio-files.js +6 -0
  45. package/dist/tools/audio-files.js.map +1 -1
  46. package/dist/tools/audit.d.ts +1 -1
  47. package/dist/tools/audit.d.ts.map +1 -1
  48. package/dist/tools/audit.js +2 -1
  49. package/dist/tools/audit.js.map +1 -1
  50. package/dist/tools/auth.d.ts.map +1 -1
  51. package/dist/tools/auth.js +2 -0
  52. package/dist/tools/auth.js.map +1 -1
  53. package/dist/tools/bulk.d.ts.map +1 -1
  54. package/dist/tools/bulk.js +2 -0
  55. package/dist/tools/bulk.js.map +1 -1
  56. package/dist/tools/calendar.d.ts.map +1 -1
  57. package/dist/tools/calendar.js +1 -0
  58. package/dist/tools/calendar.js.map +1 -1
  59. package/dist/tools/collaborators.d.ts.map +1 -1
  60. package/dist/tools/collaborators.js +7 -0
  61. package/dist/tools/collaborators.js.map +1 -1
  62. package/dist/tools/comparisons.d.ts.map +1 -1
  63. package/dist/tools/comparisons.js +2 -0
  64. package/dist/tools/comparisons.js.map +1 -1
  65. package/dist/tools/credits.d.ts.map +1 -1
  66. package/dist/tools/credits.js +3 -0
  67. package/dist/tools/credits.js.map +1 -1
  68. package/dist/tools/custody.d.ts.map +1 -1
  69. package/dist/tools/custody.js +6 -0
  70. package/dist/tools/custody.js.map +1 -1
  71. package/dist/tools/dashboard.d.ts.map +1 -1
  72. package/dist/tools/dashboard.js +8 -0
  73. package/dist/tools/dashboard.js.map +1 -1
  74. package/dist/tools/directory.d.ts.map +1 -1
  75. package/dist/tools/directory.js +1 -0
  76. package/dist/tools/directory.js.map +1 -1
  77. package/dist/tools/discovery.d.ts.map +1 -1
  78. package/dist/tools/discovery.js +16 -2
  79. package/dist/tools/discovery.js.map +1 -1
  80. package/dist/tools/disputes.d.ts.map +1 -1
  81. package/dist/tools/disputes.js +1 -0
  82. package/dist/tools/disputes.js.map +1 -1
  83. package/dist/tools/documents.d.ts.map +1 -1
  84. package/dist/tools/documents.js +1 -0
  85. package/dist/tools/documents.js.map +1 -1
  86. package/dist/tools/duplicates.d.ts.map +1 -1
  87. package/dist/tools/duplicates.js +2 -0
  88. package/dist/tools/duplicates.js.map +1 -1
  89. package/dist/tools/enrichment.d.ts.map +1 -1
  90. package/dist/tools/enrichment.js +11 -0
  91. package/dist/tools/enrichment.js.map +1 -1
  92. package/dist/tools/exports.d.ts.map +1 -1
  93. package/dist/tools/exports.js +5 -0
  94. package/dist/tools/exports.js.map +1 -1
  95. package/dist/tools/feedback.d.ts.map +1 -1
  96. package/dist/tools/feedback.js +1 -0
  97. package/dist/tools/feedback.js.map +1 -1
  98. package/dist/tools/import-documents.d.ts.map +1 -1
  99. package/dist/tools/import-documents.js +3 -0
  100. package/dist/tools/import-documents.js.map +1 -1
  101. package/dist/tools/import.d.ts.map +1 -1
  102. package/dist/tools/import.js +8 -0
  103. package/dist/tools/import.js.map +1 -1
  104. package/dist/tools/index.d.ts +21 -0
  105. package/dist/tools/index.d.ts.map +1 -1
  106. package/dist/tools/index.js +32 -1
  107. package/dist/tools/index.js.map +1 -1
  108. package/dist/tools/integrations.d.ts.map +1 -1
  109. package/dist/tools/integrations.js +1 -0
  110. package/dist/tools/integrations.js.map +1 -1
  111. package/dist/tools/labels.d.ts.map +1 -1
  112. package/dist/tools/labels.js +1 -0
  113. package/dist/tools/labels.js.map +1 -1
  114. package/dist/tools/licensing.d.ts.map +1 -1
  115. package/dist/tools/licensing.js +5 -0
  116. package/dist/tools/licensing.js.map +1 -1
  117. package/dist/tools/memory.d.ts.map +1 -1
  118. package/dist/tools/memory.js +4 -0
  119. package/dist/tools/memory.js.map +1 -1
  120. package/dist/tools/metadata.d.ts.map +1 -1
  121. package/dist/tools/metadata.js +32 -1
  122. package/dist/tools/metadata.js.map +1 -1
  123. package/dist/tools/multimedia.d.ts.map +1 -1
  124. package/dist/tools/multimedia.js +5 -0
  125. package/dist/tools/multimedia.js.map +1 -1
  126. package/dist/tools/my-reported-issues.d.ts.map +1 -1
  127. package/dist/tools/my-reported-issues.js +1 -0
  128. package/dist/tools/my-reported-issues.js.map +1 -1
  129. package/dist/tools/notes.d.ts.map +1 -1
  130. package/dist/tools/notes.js +4 -0
  131. package/dist/tools/notes.js.map +1 -1
  132. package/dist/tools/notifications.d.ts +8 -0
  133. package/dist/tools/notifications.d.ts.map +1 -1
  134. package/dist/tools/notifications.js +151 -0
  135. package/dist/tools/notifications.js.map +1 -1
  136. package/dist/tools/onboarding.d.ts.map +1 -1
  137. package/dist/tools/onboarding.js +1 -0
  138. package/dist/tools/onboarding.js.map +1 -1
  139. package/dist/tools/people.d.ts.map +1 -1
  140. package/dist/tools/people.js +5 -0
  141. package/dist/tools/people.js.map +1 -1
  142. package/dist/tools/projects.d.ts.map +1 -1
  143. package/dist/tools/projects.js +6 -0
  144. package/dist/tools/projects.js.map +1 -1
  145. package/dist/tools/publishers.d.ts.map +1 -1
  146. package/dist/tools/publishers.js +2 -0
  147. package/dist/tools/publishers.js.map +1 -1
  148. package/dist/tools/recordings.d.ts.map +1 -1
  149. package/dist/tools/recordings.js +5 -0
  150. package/dist/tools/recordings.js.map +1 -1
  151. package/dist/tools/release-rich.d.ts.map +1 -1
  152. package/dist/tools/release-rich.js +1 -0
  153. package/dist/tools/release-rich.js.map +1 -1
  154. package/dist/tools/releases.d.ts.map +1 -1
  155. package/dist/tools/releases.js +14 -0
  156. package/dist/tools/releases.js.map +1 -1
  157. package/dist/tools/report-issue.d.ts.map +1 -1
  158. package/dist/tools/report-issue.js +1 -0
  159. package/dist/tools/report-issue.js.map +1 -1
  160. package/dist/tools/royalties.d.ts.map +1 -1
  161. package/dist/tools/royalties.js +5 -0
  162. package/dist/tools/royalties.js.map +1 -1
  163. package/dist/tools/search.d.ts.map +1 -1
  164. package/dist/tools/search.js +3 -0
  165. package/dist/tools/search.js.map +1 -1
  166. package/dist/tools/send.d.ts.map +1 -1
  167. package/dist/tools/send.js +3 -0
  168. package/dist/tools/send.js.map +1 -1
  169. package/dist/tools/sessions.d.ts.map +1 -1
  170. package/dist/tools/sessions.js +4 -0
  171. package/dist/tools/sessions.js.map +1 -1
  172. package/dist/tools/settings.d.ts.map +1 -1
  173. package/dist/tools/settings.js +53 -5
  174. package/dist/tools/settings.js.map +1 -1
  175. package/dist/tools/share-links.d.ts.map +1 -1
  176. package/dist/tools/share-links.js +5 -0
  177. package/dist/tools/share-links.js.map +1 -1
  178. package/dist/tools/signup.d.ts.map +1 -1
  179. package/dist/tools/signup.js +1 -0
  180. package/dist/tools/signup.js.map +1 -1
  181. package/dist/tools/split-sheets.d.ts.map +1 -1
  182. package/dist/tools/split-sheets.js +7 -0
  183. package/dist/tools/split-sheets.js.map +1 -1
  184. package/dist/tools/storage-config.d.ts +13 -0
  185. package/dist/tools/storage-config.d.ts.map +1 -0
  186. package/dist/tools/storage-config.js +245 -0
  187. package/dist/tools/storage-config.js.map +1 -0
  188. package/dist/tools/subscription.d.ts.map +1 -1
  189. package/dist/tools/subscription.js +2 -0
  190. package/dist/tools/subscription.js.map +1 -1
  191. package/dist/tools/team.d.ts.map +1 -1
  192. package/dist/tools/team.js +5 -0
  193. package/dist/tools/team.js.map +1 -1
  194. package/dist/tools/telegram.d.ts.map +1 -1
  195. package/dist/tools/telegram.js +3 -0
  196. package/dist/tools/telegram.js.map +1 -1
  197. package/dist/tools/uploads.d.ts.map +1 -1
  198. package/dist/tools/uploads.js +2 -0
  199. package/dist/tools/uploads.js.map +1 -1
  200. package/dist/tools/works.d.ts.map +1 -1
  201. package/dist/tools/works.js +7 -0
  202. package/dist/tools/works.js.map +1 -1
  203. package/package.json +9 -5
  204. package/scripts/build-required-schemas.ts +233 -0
  205. package/scripts/refresh-schema-mirror.ts +182 -0
  206. package/server.json +2 -2
package/CHANGELOG.md CHANGED
@@ -11,6 +11,175 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
11
11
 
12
12
  ## [Unreleased]
13
13
 
14
+ ## [2.42.0] - 2026-04-30
15
+
16
+ ### Added
17
+
18
+ - **ADR-218 Primitive B — `pica_notifications_recent` tool.** New read-only
19
+ MCP tool (`risk: "safe"`, `retry_safe: true`) returning the cross-transport
20
+ `discovery_events` feed for the calling org, ordered by `created_at` DESC
21
+ with optional `unread_only: boolean` filter (per-surface dedup against
22
+ `seen_in`). Default limit 20, max 100. Distinct from `pica_notifications_list`
23
+ which targets the person-scoped `pica.notifications` system; this reads the
24
+ org-wide ledger that web bell + telegram dispatcher also share.
25
+ - **ADR-218 Primitive C — `pica_notification_acknowledge` tool.** New
26
+ mutating tool (`risk: "mutating"`, `retry_safe: true`) that appends `'mcp'`
27
+ to each event's `seen_in` array. Idempotent — re-acknowledging is a no-op.
28
+ Org-scoped server-side: out-of-org ids are silently skipped. Empty
29
+ `event_ids` returns a `VALIDATION_ERROR` without hitting the API.
30
+ - **Both tools registered in the existing `notifications` taxonomy bucket
31
+ + TOOL_METADATA (`category: "comms"`)** + tagged `workflows: "infrastructure"`
32
+ per ADR-214 W4. Ride alongside the legacy `pica_notifications_*` and
33
+ `pica_notify_*` families — the agent disambiguates from the descriptions.
34
+
35
+ ### Changed
36
+
37
+ - **ADR-218 Primitive D — telegram dispatch dedup.** `telegramNotificationService.notifyEvent`
38
+ now consults `discovery_events` for an existing undismissed row matching
39
+ `(organisation_id, event_type, entity_id)` where `'mcp' = ANY(seen_in)`.
40
+ When found, suppresses the entire dispatch — closes the re-nag loop for
41
+ `until_resolved`-strategy alerts. Fresh `one_shot` events with no prior
42
+ row still fire normally. Lookup is fail-soft: any DB error logs a debug
43
+ and proceeds with dispatch (better an extra ping than a silently-dropped
44
+ alert).
45
+ - **ADR-218 Primitive A — `_meta.session_state` envelope gains optional
46
+ `notifications` field.** `fetchSessionCounts` propagates the cross-transport
47
+ unread summary from the catalog-stats response into the envelope. Missing
48
+ field on older API servers leaves the envelope key off (no fabricated zero).
49
+
50
+ ### Bumped
51
+
52
+ - `@withpica/mcp-sdk` peer to `^1.18.0` (`DiscoveriesResource.recent` +
53
+ `.acknowledge` methods + `NotificationsSummary` type on `CatalogStats`).
54
+ - `@withpica/mcp-utils` peer to `^1.14.0` (optional `notifications` field on
55
+ `SessionStateCounts` + exported `NotificationsSummary` type).
56
+
57
+ ## [2.41.0] - 2026-04-30
58
+
59
+ ### Added
60
+
61
+ - **ADR-210 P3 — `getAuthenticatedInstructions(slice)` + `getTrialEndingClause(slice)`
62
+ exports in `src/server-instructions.ts`.** New helpers that optionally append
63
+ a state-conditional trial-ending nudge to the authenticated handshake
64
+ instructions. The clause fires only when `billing_state === 'trial'` AND
65
+ `trial_days_remaining` is non-null AND `<= 3`; in all other cases the
66
+ function returns the unchanged base const. Pass `null` when no slice is
67
+ available — slice-less callers fail safe. Existing
68
+ `SERVER_INSTRUCTIONS_AUTHENTICATED` const is unchanged (parity with
69
+ `lib/mcp/server-instructions.ts` preserved).
70
+ - **New `TrialNudgeSlice` interface export.** Minimal shape consumed by
71
+ the helper: `{ billing_state: string; trial_days_remaining: number | null }`.
72
+ Structurally compatible with the platform's `OrgBillingSlice` type so
73
+ callers can pass either.
74
+
75
+ ### Note on stdio behaviour
76
+
77
+ The stdio binary in this release continues to call the equivalent of
78
+ `getAuthenticatedInstructions(null)` at boot (returns the unchanged const) —
79
+ trial state is not resolvable at boot without a `pica.catalogStats()` round
80
+ trip. Stdio agents still see live `trial_days_remaining` via
81
+ `_meta.session_state` on every write-tool result. A future phase may add
82
+ boot-time slice resolution; this release ships the helper itself so the
83
+ HTTP transport (`/api/mcp`) can use it immediately on a per-request basis.
84
+
85
+ ## [2.40.0] - 2026-04-30
86
+
87
+ ### Changed
88
+
89
+ - **ADR-214 W4 — `workflows` field is now required on `ToolDefinition`.**
90
+ Flips the optional `workflows?: WorkflowTag | WorkflowTag[]` field
91
+ introduced in W1 to a required `workflows: WorkflowTag | WorkflowTag[]`.
92
+ TypeScript compilation now enforces that every new tool authored
93
+ declares its workflow membership at the source site — no escape
94
+ hatch except the explicit `"infrastructure"` opt-out. Drift
95
+ prevention mechanism #1 from ADR-214 §"Drift prevention" is now
96
+ fully load-bearing. `lint-required-schemas.ts` hardened: the
97
+ parallel-window warning for untagged tools becomes a hard error
98
+ (defence-in-depth in case a tool somehow reaches the registry
99
+ without a `workflows` field at runtime).
100
+
101
+ ### Added
102
+
103
+ - **ADR-214 W2 — agent-guide + required-fields schema resources.**
104
+ Two new resource families on the catalog `mcp-server`:
105
+ - `pica://docs/agent-guide` — workflow narrative for agents. Visible
106
+ in both lobby and authenticated modes; content branches on
107
+ `lobbyMode`. Lobby variant (~865 bytes) covers the signup → magic
108
+ link flow + what unlocks. Authenticated variant (~4.3 KB) lists the
109
+ five core workflows (register a work, add a recording, add audio,
110
+ add recording credits, enrich metadata) with verbatim tool sequences
111
+ and 8 common gotchas — verified against the live tool registry on
112
+ 2026-04-30.
113
+ - `pica://schemas/work-required`, `pica://schemas/recording-required`,
114
+ `pica://schemas/work-credits-required`,
115
+ `pica://schemas/recording-credits-required`,
116
+ `pica://schemas/person-required` — JSON contracts derived at build
117
+ time from each tool's `inputSchema` (in `ToolRegistry`) joined with
118
+ `schema-mirror.json` for live CHECK constraint enums. Authenticated
119
+ mode only.
120
+ - **Build-time generator + schema mirror.**
121
+ - `mcp-server/scripts/build-required-schemas.ts` — runs as part of
122
+ `npm run prebuild` (chained after `bundle-apps.ts`); reads
123
+ `required-schemas.source.ts` + `ToolRegistry` + `schema-mirror.json`
124
+ and emits the deterministic `required-schemas.generated.ts`
125
+ (committed to git so PR diffs surface drift, per
126
+ `feedback_type_regen_cumulative_drift`).
127
+ - `mcp-server/src/resources/schema-mirror.json` — committed snapshot
128
+ of CHECK constraint enums for `works`, `recordings`, `work_credits`,
129
+ `recording_credits`, `audio_files`. Refresh via
130
+ `mcp-server/scripts/refresh-schema-mirror.ts` (humans only; CI never
131
+ auto-regenerates).
132
+ - **Inverse-coverage CI lint (`scripts/lint-required-schemas.ts`).**
133
+ Walks `ToolRegistry` and `REQUIRED_SCHEMAS_SOURCE` from both
134
+ directions: every tool whose `workflows` field tags it for a workflow
135
+ must appear in the source file; every source reference must resolve
136
+ to a real tool. During the parallel-development window (W1 still in
137
+ flight), tools missing the `workflows` field emit a single summary
138
+ warning (per coordinator decision Stage 1 §R2). Once W4 makes the
139
+ field required, the warning becomes an error.
140
+ - **Agent-guide drift lint (`scripts/lint-agent-guide.ts`).** Greps
141
+ every `pica_*` token in `agent-guide.ts` against `ToolRegistry` (in
142
+ both `discoveryMode` settings, so meta-tools like `pica_discover` are
143
+ resolvable). Catches stale references after tool renames.
144
+ - **Meta-tests** for both lints (per `feedback_meta_test_load_bearing`):
145
+ 3 / 3 regressions caught and reverted before ship — see
146
+ `docs/follow-ups/2026-04-30-adr214-w2-meta-test-outcomes.md`.
147
+
148
+ ### Changed
149
+
150
+ - `mcp-server/package.json` — `prebuild` now chains
151
+ `bundle-apps.ts && build-required-schemas.ts`. New scripts
152
+ `lint:required-schemas` and `lint:agent-guide` added; both wired into
153
+ `prepublishOnly` after the existing checks.
154
+ - `mcp-server/src/resources/index.ts` — registers 6 new URIs across
155
+ `listResources()` (1 in the lobby branch, 5 in the authenticated
156
+ branch) and `readResource()` (1 case for the agent-guide variant
157
+ branch, 5 cases for the schema URIs).
158
+
159
+ ### Dependencies
160
+
161
+ - `pg` + `@types/pg` added as devDependencies (used only by
162
+ `refresh-schema-mirror.ts` for direct Postgres CHECK-constraint pulls
163
+ against staging).
164
+
165
+ ### Internal
166
+
167
+ - **ADR-214 W1 — `WorkflowTag` type + optional `workflows` field on tool
168
+ definitions.** Adds a union type
169
+ (`"work-required" | "recording-required" | "work-credits-required"
170
+ | "recording-credits-required" | "person-required" | "infrastructure"`)
171
+ and a `workflows?: WorkflowTag | WorkflowTag[]` field to
172
+ `ToolDefinition` at `mcp-server/src/tools/index.ts`. All 231 tools now
173
+ carry the field — 8 catalog-core tools (`pica_works_create`,
174
+ `pica_works_update`, `pica_recordings_create`,
175
+ `pica_recordings_update`, `pica_people_create`, `pica_people_update`,
176
+ `pica_credits_update`, `pica_recording_credits_update`) reference one
177
+ or more Phase 1 workflows; the remaining 223 carry
178
+ `"infrastructure"`. Field is optional in W1 to keep the rollout
179
+ additive; W4 (post-merge of W1 + W2 resource scaffolding) flips it to
180
+ required so every future tool is forced to declare its workflow at
181
+ compile time. No runtime behaviour change in this release.
182
+
14
183
  ## [2.39.0] - 2026-04-30
15
184
 
16
185
  ### Added
@@ -85,7 +254,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
85
254
  with track-list expand and inline streaming embeds is queued under
86
255
  the ADR-200 Phase 1.x backlog.
87
256
  - **`structuredContent`** envelope — `{ title, markdown, cover_base64,
88
- cover_mime_type, resource_link_uri }`. Apps clients prefer this over
257
+ cover_mime_type, resource_link_uri }`. Apps clients prefer this over
89
258
  re-decoding the image content block; non-Apps clients ignore it.
90
259
 
91
260
  ### Notes
@@ -162,15 +331,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
162
331
  hints via the new `buildRecordingAttributionHints(recording)` helper
163
332
  (`mcp-server/src/tools/recording-attribution-hints.ts`). Mirror of
164
333
  `buildCustodyHints` for works:
165
- - `recording_ownership_unset` — fires when `ownership_percentage IS NULL`.
166
- Suggests `pica_recordings_update ownership_percentage:N`.
167
- - `recording_no_credits` — always fires (we never know credits from a
168
- single fresh row). Suggests the new `pica_recording_credits_update`.
169
- - `recording_master_unclaimed` — fires when `ownership_percentage IS NULL`.
170
- Alternative path for multi-party master claims via `pica_custody_claim`.
171
- NULL-only triggers: `0` is "explicit zero", no hint. Negative-path
172
- covered by jest at `recording-attribution-hints.test.ts` per
173
- `feedback_meta_test_load_bearing.md`.
334
+ - `recording_ownership_unset` — fires when `ownership_percentage IS NULL`.
335
+ Suggests `pica_recordings_update ownership_percentage:N`.
336
+ - `recording_no_credits` — always fires (we never know credits from a
337
+ single fresh row). Suggests the new `pica_recording_credits_update`.
338
+ - `recording_master_unclaimed` — fires when `ownership_percentage IS NULL`.
339
+ Alternative path for multi-party master claims via `pica_custody_claim`.
340
+ NULL-only triggers: `0` is "explicit zero", no hint. Negative-path
341
+ covered by jest at `recording-attribution-hints.test.ts` per
342
+ `feedback_meta_test_load_bearing.md`.
174
343
  - **ADR-213 Primitive B — `pica_recording_credits_update`.** First-party
175
344
  recording-side write tool; closes the work/recording credit-write
176
345
  asymmetry. Writes to `recording_credits` (NOT the trade-secret
@@ -259,7 +428,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
259
428
  missing (HTTP-discovery without bearer scope), or when the SDK response
260
429
  is missing `billing_slice` (older server pre-Phase-1), the fetcher
261
430
  emits a conservative `{ billing_state: "trial", trial_days_remaining:
262
- null, current_tier: null, capacity_pct: 0 }` rather than fabricating
431
+ null, current_tier: null, capacity_pct: 0 }` rather than fabricating
263
432
  "active" — the agent never sees misleading "active" billing for an
264
433
  uninitialized context.
265
434
 
@@ -0,0 +1,15 @@
1
+ /**
2
+ * ADR-214 — workflow narrative for agents.
3
+ *
4
+ * Two markdown constants. ResourceRegistry serves AGENT_GUIDE_LOBBY when
5
+ * config.lobbyMode || !pica, AGENT_GUIDE_AUTHENTICATED otherwise.
6
+ *
7
+ * Tool sequences are verbatim from ADR-214 Decision section "Top
8
+ * workflows" — audit-verified 2026-04-30 against the live ToolRegistry.
9
+ *
10
+ * Edits to this file are linted by scripts/lint-agent-guide.ts: every
11
+ * `pica_*` token must resolve to a real tool in ToolRegistry.
12
+ */
13
+ export declare const AGENT_GUIDE_AUTHENTICATED = "# pica \u2014 agent guide\n\npica manages a music catalog: works (compositions), recordings (masters),\npeople (writers, performers, publishers), credits, agreements, exports.\nmulti-tenant per organisation; every write is org-scoped automatically.\n\nyou are signed in. ~227 tools are available. five core workflows below\ncover most of the surface; for anything not listed, fall back to\n`pica_discover` (mode: list_categories \u2192 list_tools) \u2192 `pica_tool_details`.\n\n## top workflows\n\n### register a new work\n1. `pica_works_create` \u2014 title required; iswc settable inline.\n2. `pica_credits_update` \u2014 batch; attach writer/composer credits.\n writer_split_percentage values must sum to 100 across all writer rows.\n see `pica://schemas/work-required` and `pica://schemas/work-credits-required`.\n\n### add a recording to an existing work\n- `pica_recordings_create` \u2014 title + artist_name + version_type required\n (version_type defaults to `master`). isrc and duration_ms are inline.\n- see `pica://schemas/recording-required`.\n\n### add audio to a recording\n1. `pica_audio_presigned_upload` \u2014 returns a signed url + token.\n2. uploader (browser, curl, sdk) PUTs the file to that url.\n3. `pica_audio_complete_upload` \u2014 registers the upload in the catalog.\n4. (optional) `pica_audio_analyze` \u2014 async; extracts bpm, key, mood, and\n transcribes lyrics via whisper.\n5. `pica_audio_inspect` (sections: [\"analysis\", \"status\"]) \u2014 poll for\n analysis results when you called step 4.\n\n### add recording credits\n- `pica_recording_credits_update` \u2014 batch. role enum is DISTINCT from\n work credits (MainArtist / FeaturedArtist / Producer / Engineer / etc.).\n- person_id is OPTIONAL \u2014 credits can carry just credited_name when the\n person isn't in the catalog yet.\n- see `pica://schemas/recording-credits-required`.\n\n### enrich existing metadata\n1. `pica_resolve_work` / `pica_resolve_person` / `pica_resolve_recording` \u2014\n tier A identifier matches apply directly; tier B fuzzy matches queue\n as proposals.\n2. `pica_enrichment_proposals_list` \u2014 view pending proposals.\n3. `pica_enrichment_proposal_apply` \u2014 commit a proposal you've reviewed.\n\n## common gotchas\n\n- **duration units differ.** `works.duration_seconds` (integer seconds);\n `recordings.duration_ms` (integer milliseconds);\n `audio_files.duration_seconds` (seconds again).\n- **no standalone identifier-assign tool.** iswc on works, isrc on\n recordings, ipi/pro/ppl/mcps numbers on people \u2014 all inline at create\n or update. there is no separate identifier tool family; don't search\n for one.\n- **two write surfaces for work collaborators.** `pica_credits_update`\n is canonical (writer/publisher splits + attestation). `work_collaborators`\n is a simpler legacy surface still used by some flows.\n- **recording credits are a separate surface** with a different role\n enum. use `pica_recording_credits_update`, not `pica_credits_update`.\n- **people identifier sprawl.** inline columns: `cae_ipi_number`,\n `ipn_number`, `prs_number`, `ppl_number`, `pro_member_number`,\n `mcps_member_number`. satellite (settable through the same create/update\n call): `isni`, `musicbrainz_id`, `wikidata_id`, `discogs_artist_id`,\n `imdb_id`, `viaf_id`, `deezer_artist_id`. treat as one inline surface.\n- **audio analysis is async + explicit.** `pica_audio_complete_upload`\n does NOT auto-trigger analysis. call `pica_audio_analyze` and poll.\n- **lyrics from analysis don't auto-write back to `works.lyrics`.**\n whisper transcripts land on the analysis row; copy is a separate step.\n- **org scoping + duplicate prevention.** every write is scoped to the\n caller's organisation. iswc and isrc duplicates are blocked at write.\n\n## schema resources (pre-flight before each workflow)\n\n- `pica://schemas/work-required` \u2014 backs `pica_works_create`.\n- `pica://schemas/recording-required` \u2014 backs `pica_recordings_create`.\n- `pica://schemas/work-credits-required` \u2014 backs `pica_credits_update`.\n- `pica://schemas/recording-credits-required` \u2014 backs `pica_recording_credits_update`.\n- `pica://schemas/person-required` \u2014 backs `pica_people_create`.\n\neach schema returns a json contract: required fields, recommended fields,\nCHECK enum values, companion-call orchestration, and an example payload.\n";
14
+ export declare const AGENT_GUIDE_LOBBY = "# pica \u2014 sign in to begin\n\nyou are in lobby mode. three tools are available; the rest unlock after\nsign-in.\n\n## lobby tools\n- `pica_signup_start` \u2014 create a new organisation and get a magic link\n for first-time setup.\n- `pica_sign_in` \u2014 request a magic link for an existing user.\n- `pica_sign_out` \u2014 drop session.\n\n## to sign in\n1. ask the user for an email address.\n2. call `pica_signup_start` (new user) or `pica_sign_in` (returning).\n3. user clicks the magic link. on the next request, the catalog tool\n surface unlocks automatically \u2014 no config to refresh.\n\n## what unlocks after sign-in\n~227 tools across catalog (works, recordings, people, credits),\nenrichment, exports, agreements, multimedia, analytics, and audio. five\nrequired-fields schema resources at `pica://schemas/<workflow>-required`.\nthe full agent-guide replaces this lobby content.\n";
15
+ //# sourceMappingURL=agent-guide.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-guide.d.ts","sourceRoot":"","sources":["../../src/resources/agent-guide.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AAEH,eAAO,MAAM,yBAAyB,2zIAkFrC,CAAC;AAEF,eAAO,MAAM,iBAAiB,24BAsB7B,CAAC"}
@@ -0,0 +1,120 @@
1
+ // Copyright (c) 2024-2026 Withpica Ltd. All rights reserved.
2
+ /**
3
+ * ADR-214 — workflow narrative for agents.
4
+ *
5
+ * Two markdown constants. ResourceRegistry serves AGENT_GUIDE_LOBBY when
6
+ * config.lobbyMode || !pica, AGENT_GUIDE_AUTHENTICATED otherwise.
7
+ *
8
+ * Tool sequences are verbatim from ADR-214 Decision section "Top
9
+ * workflows" — audit-verified 2026-04-30 against the live ToolRegistry.
10
+ *
11
+ * Edits to this file are linted by scripts/lint-agent-guide.ts: every
12
+ * `pica_*` token must resolve to a real tool in ToolRegistry.
13
+ */
14
+ export const AGENT_GUIDE_AUTHENTICATED = `# pica — agent guide
15
+
16
+ pica manages a music catalog: works (compositions), recordings (masters),
17
+ people (writers, performers, publishers), credits, agreements, exports.
18
+ multi-tenant per organisation; every write is org-scoped automatically.
19
+
20
+ you are signed in. ~227 tools are available. five core workflows below
21
+ cover most of the surface; for anything not listed, fall back to
22
+ \`pica_discover\` (mode: list_categories → list_tools) → \`pica_tool_details\`.
23
+
24
+ ## top workflows
25
+
26
+ ### register a new work
27
+ 1. \`pica_works_create\` — title required; iswc settable inline.
28
+ 2. \`pica_credits_update\` — batch; attach writer/composer credits.
29
+ writer_split_percentage values must sum to 100 across all writer rows.
30
+ see \`pica://schemas/work-required\` and \`pica://schemas/work-credits-required\`.
31
+
32
+ ### add a recording to an existing work
33
+ - \`pica_recordings_create\` — title + artist_name + version_type required
34
+ (version_type defaults to \`master\`). isrc and duration_ms are inline.
35
+ - see \`pica://schemas/recording-required\`.
36
+
37
+ ### add audio to a recording
38
+ 1. \`pica_audio_presigned_upload\` — returns a signed url + token.
39
+ 2. uploader (browser, curl, sdk) PUTs the file to that url.
40
+ 3. \`pica_audio_complete_upload\` — registers the upload in the catalog.
41
+ 4. (optional) \`pica_audio_analyze\` — async; extracts bpm, key, mood, and
42
+ transcribes lyrics via whisper.
43
+ 5. \`pica_audio_inspect\` (sections: ["analysis", "status"]) — poll for
44
+ analysis results when you called step 4.
45
+
46
+ ### add recording credits
47
+ - \`pica_recording_credits_update\` — batch. role enum is DISTINCT from
48
+ work credits (MainArtist / FeaturedArtist / Producer / Engineer / etc.).
49
+ - person_id is OPTIONAL — credits can carry just credited_name when the
50
+ person isn't in the catalog yet.
51
+ - see \`pica://schemas/recording-credits-required\`.
52
+
53
+ ### enrich existing metadata
54
+ 1. \`pica_resolve_work\` / \`pica_resolve_person\` / \`pica_resolve_recording\` —
55
+ tier A identifier matches apply directly; tier B fuzzy matches queue
56
+ as proposals.
57
+ 2. \`pica_enrichment_proposals_list\` — view pending proposals.
58
+ 3. \`pica_enrichment_proposal_apply\` — commit a proposal you've reviewed.
59
+
60
+ ## common gotchas
61
+
62
+ - **duration units differ.** \`works.duration_seconds\` (integer seconds);
63
+ \`recordings.duration_ms\` (integer milliseconds);
64
+ \`audio_files.duration_seconds\` (seconds again).
65
+ - **no standalone identifier-assign tool.** iswc on works, isrc on
66
+ recordings, ipi/pro/ppl/mcps numbers on people — all inline at create
67
+ or update. there is no separate identifier tool family; don't search
68
+ for one.
69
+ - **two write surfaces for work collaborators.** \`pica_credits_update\`
70
+ is canonical (writer/publisher splits + attestation). \`work_collaborators\`
71
+ is a simpler legacy surface still used by some flows.
72
+ - **recording credits are a separate surface** with a different role
73
+ enum. use \`pica_recording_credits_update\`, not \`pica_credits_update\`.
74
+ - **people identifier sprawl.** inline columns: \`cae_ipi_number\`,
75
+ \`ipn_number\`, \`prs_number\`, \`ppl_number\`, \`pro_member_number\`,
76
+ \`mcps_member_number\`. satellite (settable through the same create/update
77
+ call): \`isni\`, \`musicbrainz_id\`, \`wikidata_id\`, \`discogs_artist_id\`,
78
+ \`imdb_id\`, \`viaf_id\`, \`deezer_artist_id\`. treat as one inline surface.
79
+ - **audio analysis is async + explicit.** \`pica_audio_complete_upload\`
80
+ does NOT auto-trigger analysis. call \`pica_audio_analyze\` and poll.
81
+ - **lyrics from analysis don't auto-write back to \`works.lyrics\`.**
82
+ whisper transcripts land on the analysis row; copy is a separate step.
83
+ - **org scoping + duplicate prevention.** every write is scoped to the
84
+ caller's organisation. iswc and isrc duplicates are blocked at write.
85
+
86
+ ## schema resources (pre-flight before each workflow)
87
+
88
+ - \`pica://schemas/work-required\` — backs \`pica_works_create\`.
89
+ - \`pica://schemas/recording-required\` — backs \`pica_recordings_create\`.
90
+ - \`pica://schemas/work-credits-required\` — backs \`pica_credits_update\`.
91
+ - \`pica://schemas/recording-credits-required\` — backs \`pica_recording_credits_update\`.
92
+ - \`pica://schemas/person-required\` — backs \`pica_people_create\`.
93
+
94
+ each schema returns a json contract: required fields, recommended fields,
95
+ CHECK enum values, companion-call orchestration, and an example payload.
96
+ `;
97
+ export const AGENT_GUIDE_LOBBY = `# pica — sign in to begin
98
+
99
+ you are in lobby mode. three tools are available; the rest unlock after
100
+ sign-in.
101
+
102
+ ## lobby tools
103
+ - \`pica_signup_start\` — create a new organisation and get a magic link
104
+ for first-time setup.
105
+ - \`pica_sign_in\` — request a magic link for an existing user.
106
+ - \`pica_sign_out\` — drop session.
107
+
108
+ ## to sign in
109
+ 1. ask the user for an email address.
110
+ 2. call \`pica_signup_start\` (new user) or \`pica_sign_in\` (returning).
111
+ 3. user clicks the magic link. on the next request, the catalog tool
112
+ surface unlocks automatically — no config to refresh.
113
+
114
+ ## what unlocks after sign-in
115
+ ~227 tools across catalog (works, recordings, people, credits),
116
+ enrichment, exports, agreements, multimedia, analytics, and audio. five
117
+ required-fields schema resources at \`pica://schemas/<workflow>-required\`.
118
+ the full agent-guide replaces this lobby content.
119
+ `;
120
+ //# sourceMappingURL=agent-guide.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-guide.js","sourceRoot":"","sources":["../../src/resources/agent-guide.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAE7D;;;;;;;;;;;GAWG;AAEH,MAAM,CAAC,MAAM,yBAAyB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkFxC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;CAsBhC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/resources/index.ts"],"names":[],"mappings":"AAEA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAO/C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAM5C,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,KAAK,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC,CAAC;CACJ;AAED,MAAM,MAAM,cAAc,GAAG,GAAG,CAAC;AAEjC,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,IAAI,CAAoB;IAChC,OAAO,CAAC,MAAM,CAAC,CAAe;gBAElB,IAAI,EAAE,UAAU,GAAG,IAAI,EAAE,MAAM,CAAC,EAAE,YAAY;IAK1D;;OAEG;IACH,aAAa,IAAI,kBAAkB,EAAE;IAqGrC;;OAEG;IACG,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAyH7C;;OAEG;IACH,OAAO,CAAC,cAAc;IA6BtB;;OAEG;YACW,YAAY;IA4B1B;;OAEG;YACW,aAAa;IA4B3B;;OAEG;YACW,iBAAiB;IA2B/B;;OAEG;YACW,eAAe;IAoD7B;;OAEG;YACW,gBAAgB;IAc9B;;OAEG;YACW,mBAAmB;IAcjC;;OAEG;YACW,eAAe;CAa9B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/resources/index.ts"],"names":[],"mappings":"AAEA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAU/C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAM5C,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,KAAK,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC,CAAC;CACJ;AAED,MAAM,MAAM,cAAc,GAAG,GAAG,CAAC;AAEjC,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,IAAI,CAAoB;IAChC,OAAO,CAAC,MAAM,CAAC,CAAe;gBAElB,IAAI,EAAE,UAAU,GAAG,IAAI,EAAE,MAAM,CAAC,EAAE,YAAY;IAK1D;;OAEG;IACH,aAAa,IAAI,kBAAkB,EAAE;IA+IrC;;OAEG;IACG,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAgJ7C;;OAEG;IACH,OAAO,CAAC,cAAc;IA6BtB;;OAEG;YACW,YAAY;IA4B1B;;OAEG;YACW,aAAa;IA4B3B;;OAEG;YACW,iBAAiB;IA2B/B;;OAEG;YACW,eAAe;IAoD7B;;OAEG;YACW,gBAAgB;IAc9B;;OAEG;YACW,mBAAmB;IAcjC;;OAEG;YACW,eAAe;CAa9B"}
@@ -3,6 +3,9 @@ import { ResourceError } from "@withpica/mcp-utils";
3
3
  import { readFileSync } from "fs";
4
4
  import { join } from "path";
5
5
  import { WITHPICA_PRIMER } from "./llms-primer.js";
6
+ import { WELCOME_MARKDOWN } from "./welcome.js";
7
+ import { AGENT_GUIDE_AUTHENTICATED, AGENT_GUIDE_LOBBY } from "./agent-guide.js";
8
+ import { REQUIRED_SCHEMAS } from "./required-schemas.generated.js";
6
9
  import { UPLOAD_HTML } from "../apps/upload.js";
7
10
  import { DOWNLOAD_HTML } from "../apps/download.js";
8
11
  import { RELEASE_HTML } from "../apps/release.js";
@@ -25,6 +28,12 @@ export class ResourceRegistry {
25
28
  description: "Getting started guide — how to sign in and what you can do",
26
29
  mimeType: "text/markdown",
27
30
  },
31
+ {
32
+ uri: "pica://docs/agent-guide",
33
+ name: "Agent Guide — How to Use PICA",
34
+ description: "Workflow-by-workflow guide for agents — what tools to call in what order, common gotchas, pointers to schema resources. Lobby mode returns a sign-in-focused variant; authenticated mode returns the full workflow map.",
35
+ mimeType: "text/markdown",
36
+ },
28
37
  ];
29
38
  if (this.config?.lobbyMode || !this.pica) {
30
39
  return resources;
@@ -89,6 +98,31 @@ export class ResourceRegistry {
89
98
  name: "Release Card",
90
99
  description: "Release rich-render card — cover art + markdown summary (ADR-208 Phase 3 Primitive D, Phase 3 stub)",
91
100
  mimeType: "text/html;profile=mcp-app",
101
+ }, {
102
+ uri: "pica://schemas/work-required",
103
+ name: "Required Fields — Register a Work",
104
+ description: "Required + recommended fields, CHECK enums, and companion-call orchestration for pica_works_create. Read before calling the work-create workflow.",
105
+ mimeType: "application/json",
106
+ }, {
107
+ uri: "pica://schemas/recording-required",
108
+ name: "Required Fields — Register a Recording",
109
+ description: "Required + recommended fields, CHECK enums, and companion-call orchestration for pica_recordings_create.",
110
+ mimeType: "application/json",
111
+ }, {
112
+ uri: "pica://schemas/work-credits-required",
113
+ name: "Required Fields — Attach Work Credits",
114
+ description: "Per-row required fields and CHECK enums for pica_credits_update (writer/composer/publisher splits, sum to 100).",
115
+ mimeType: "application/json",
116
+ }, {
117
+ uri: "pica://schemas/recording-credits-required",
118
+ name: "Required Fields — Attach Recording Credits",
119
+ description: "Per-row required fields and the role enum for pica_recording_credits_update (MainArtist / FeaturedArtist / Producer / Engineer / etc.).",
120
+ mimeType: "application/json",
121
+ }, {
122
+ uri: "pica://schemas/person-required",
123
+ name: "Required Fields — Register a Person",
124
+ description: "Required + recommended fields for pica_people_create (writers, performers, publishers; identifiers settable inline).",
125
+ mimeType: "application/json",
92
126
  });
93
127
  return resources;
94
128
  }
@@ -103,21 +137,22 @@ export class ResourceRegistry {
103
137
  {
104
138
  uri: "pica://welcome",
105
139
  mimeType: "text/markdown",
106
- text: "# welcome to PICA\n\n" +
107
- "PICA manages your music catalog — works, recordings, credits, agreements, and more.\n\n" +
108
- "## get started\n\n" +
109
- 'Say **"sign me in"** and provide your email address. ' +
110
- "You'll receive a magic link — click it, and all tools unlock automatically.\n\n" +
111
- "No API key needed. No config files. Just talk.\n\n" +
112
- "## what you can do after signing in\n\n" +
113
- "- Add and manage works, recordings, and credits\n" +
114
- "- Enrich metadata from Spotify, MusicBrainz, MLC, and more\n" +
115
- "- Generate exports (CSV, NRO, CAR reports)\n" +
116
- "- Track agreements and splits\n" +
117
- "- Search your catalog and get health reports\n",
140
+ text: WELCOME_MARKDOWN,
141
+ },
142
+ ],
143
+ };
144
+ case "pica://docs/agent-guide": {
145
+ const lobby = this.config?.lobbyMode || !this.pica;
146
+ return {
147
+ contents: [
148
+ {
149
+ uri: "pica://docs/agent-guide",
150
+ mimeType: "text/markdown",
151
+ text: lobby ? AGENT_GUIDE_LOBBY : AGENT_GUIDE_AUTHENTICATED,
118
152
  },
119
153
  ],
120
154
  };
155
+ }
121
156
  default:
122
157
  break;
123
158
  }
@@ -195,6 +230,25 @@ export class ResourceRegistry {
195
230
  },
196
231
  ],
197
232
  };
233
+ case "pica://schemas/work-required":
234
+ case "pica://schemas/recording-required":
235
+ case "pica://schemas/work-credits-required":
236
+ case "pica://schemas/recording-credits-required":
237
+ case "pica://schemas/person-required": {
238
+ const key = uri.replace("pica://schemas/", "");
239
+ const body = REQUIRED_SCHEMAS[key];
240
+ if (!body)
241
+ throw new ResourceError(`Schema not found: ${uri}`);
242
+ return {
243
+ contents: [
244
+ {
245
+ uri,
246
+ mimeType: "application/json",
247
+ text: JSON.stringify(body, null, 2),
248
+ },
249
+ ],
250
+ };
251
+ }
198
252
  default:
199
253
  throw new ResourceError(`Resource not found: ${uri}`);
200
254
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/resources/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/resources/index.ts"],"names":[],"mappings":"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"}