@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
@@ -1 +1 @@
1
- {"version":3,"file":"works.js","sourceRoot":"","sources":["../../src/tools/works.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"works.js","sourceRoot":"","sources":["../../src/tools/works.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@withpica/mcp-server",
3
3
  "mcpName": "io.github.withpica/pica",
4
- "version": "2.39.0",
4
+ "version": "2.43.0",
5
5
  "description": "MCP Server for PICA Platform - enables AI assistants to interact with PICA",
6
6
  "type": "module",
7
7
  "main": "dist/index.js",
@@ -9,14 +9,16 @@
9
9
  "pica-mcp": "./dist/index.js"
10
10
  },
11
11
  "scripts": {
12
- "prebuild": "tsx scripts/bundle-apps.ts",
12
+ "prebuild": "tsx scripts/bundle-apps.ts && tsx scripts/build-required-schemas.ts",
13
13
  "build": "tsc",
14
14
  "dev": "tsx src/index.ts",
15
15
  "start": "node dist/index.js",
16
16
  "test": "NODE_OPTIONS=--experimental-vm-modules jest",
17
17
  "test:watch": "NODE_OPTIONS=--experimental-vm-modules jest --watch",
18
18
  "test:coverage": "NODE_OPTIONS=--experimental-vm-modules jest --coverage",
19
- "prepublishOnly": "npm run build && tsx ../scripts/check-mcp-bundle.ts && tsx ../scripts/lint-mcp-tools.ts"
19
+ "lint:required-schemas": "tsx ../scripts/lint-required-schemas.ts",
20
+ "lint:agent-guide": "tsx ../scripts/lint-agent-guide.ts",
21
+ "prepublishOnly": "npm run build && tsx ../scripts/check-mcp-bundle.ts && tsx ../scripts/lint-mcp-tools.ts && npm run lint:required-schemas && npm run lint:agent-guide"
20
22
  },
21
23
  "keywords": [
22
24
  "mcp",
@@ -31,15 +33,17 @@
31
33
  "license": "MIT",
32
34
  "dependencies": {
33
35
  "@modelcontextprotocol/sdk": "^1.27.1",
34
- "@withpica/mcp-sdk": "^1.17.0",
35
- "@withpica/mcp-utils": "^1.12.0",
36
+ "@withpica/mcp-sdk": "^1.18.0",
37
+ "@withpica/mcp-utils": "^1.14.0",
36
38
  "mppx": "^0.5.0"
37
39
  },
38
40
  "devDependencies": {
39
41
  "@modelcontextprotocol/ext-apps": "^1.5.0",
40
42
  "@types/jest": "^29.5.14",
41
43
  "@types/node": "^20.10.0",
44
+ "@types/pg": "^8.11.0",
42
45
  "jest": "^29.7.0",
46
+ "pg": "^8.13.0",
43
47
  "ts-jest": "^29.4.5",
44
48
  "tsx": "^4.7.0",
45
49
  "typescript": "^5.3.3"
@@ -0,0 +1,233 @@
1
+ // Copyright (c) 2024-2026 Withpica Ltd. All rights reserved.
2
+
3
+ /**
4
+ * ADR-214 — generator for `required-schemas.generated.ts`.
5
+ *
6
+ * Reads three inputs:
7
+ * 1. ToolRegistry (instantiated from src) → tool inputSchemas
8
+ * 2. mcp-server/src/resources/required-schemas.source.ts → narrative + companion_calls
9
+ * 3. mcp-server/src/resources/schema-mirror.json → CHECK constraint enums
10
+ *
11
+ * Joins them and emits `mcp-server/src/resources/required-schemas.generated.ts`,
12
+ * a TypeScript module exporting `REQUIRED_SCHEMAS` consumed by ResourceRegistry.
13
+ *
14
+ * Determinism: object keys sorted alphabetically, arrays preserved in source
15
+ * order. Re-running with no source changes produces a byte-identical file.
16
+ *
17
+ * Wired into mcp-server/package.json as part of `prebuild` (after
18
+ * bundle-apps.ts). Runs via tsx; no build step required.
19
+ *
20
+ * Failure modes:
21
+ * - source.ts references a tool not in ToolRegistry → exit 1, name file to fix
22
+ * - companion_calls[].tool not in ToolRegistry → exit 1
23
+ * - enum_tables references missing table/column in mirror → exit 1
24
+ */
25
+
26
+ import { readFileSync, writeFileSync } from "node:fs";
27
+ import { dirname, join } from "node:path";
28
+ import { fileURLToPath } from "node:url";
29
+ import {
30
+ REQUIRED_SCHEMAS_SOURCE,
31
+ type RequiredSchemaSource,
32
+ } from "../src/resources/required-schemas.source.js";
33
+ import { ToolRegistry, type ToolDefinition } from "../src/tools/index.js";
34
+
35
+ const __filename = fileURLToPath(import.meta.url);
36
+ const __dirname = dirname(__filename);
37
+ const MCP_SERVER_ROOT = join(__dirname, "..");
38
+ const MIRROR_PATH = join(
39
+ MCP_SERVER_ROOT,
40
+ "src/resources/schema-mirror.json",
41
+ );
42
+ const OUTPUT_PATH = join(
43
+ MCP_SERVER_ROOT,
44
+ "src/resources/required-schemas.generated.ts",
45
+ );
46
+
47
+ interface SchemaMirror {
48
+ [table: string]: string[] | Record<string, string[]> | string | undefined;
49
+ }
50
+
51
+ function loadMirror(): SchemaMirror {
52
+ const raw = readFileSync(MIRROR_PATH, "utf-8");
53
+ return JSON.parse(raw) as SchemaMirror;
54
+ }
55
+
56
+ function loadRegistry(): Map<string, ToolDefinition> {
57
+ const stubPica = {} as never;
58
+ const stubConfig = {
59
+ picaApiKey: "stub",
60
+ picaApiUrl: "https://stub.example.com/api",
61
+ serverName: "schema-generator",
62
+ version: "0.0.0",
63
+ debug: false,
64
+ lobbyMode: false,
65
+ credentialsPath: "",
66
+ discoveryMode: false,
67
+ } as never;
68
+
69
+ const registry = new ToolRegistry(
70
+ stubPica,
71
+ stubConfig,
72
+ () => {},
73
+ { callerIdentity: "schema-generator", transport: "stdio" } as never,
74
+ () => {},
75
+ );
76
+
77
+ const map = new Map<string, ToolDefinition>();
78
+ // ToolRegistry.tools is private but read-accessible from sibling code in
79
+ // the same workspace (matches existing pattern in scripts/lint-mcp-tools.ts).
80
+ const tools = (registry as unknown as {
81
+ tools: Map<string, { definition: ToolDefinition }>;
82
+ }).tools;
83
+ for (const [name, entry] of tools) {
84
+ map.set(name, entry.definition);
85
+ }
86
+ return map;
87
+ }
88
+
89
+ function fail(msg: string): never {
90
+ console.error(`[build-required-schemas] ERROR: ${msg}`);
91
+ process.exit(1);
92
+ }
93
+
94
+ function getRequiredAndProperties(
95
+ tools: Map<string, ToolDefinition>,
96
+ toolName: string,
97
+ source: string,
98
+ ): { required: string[]; properties: string[] } {
99
+ const def = tools.get(toolName);
100
+ if (!def) {
101
+ fail(
102
+ `${source} references tool '${toolName}' which is not in ToolRegistry. ` +
103
+ `Edit mcp-server/src/resources/required-schemas.source.ts and remove or rename the reference.`,
104
+ );
105
+ }
106
+ const schema = def.inputSchema;
107
+ const required = Array.isArray(schema.required) ? [...schema.required] : [];
108
+ const properties = Object.keys(schema.properties ?? {});
109
+ return { required, properties };
110
+ }
111
+
112
+ function buildEnums(
113
+ mirror: SchemaMirror,
114
+ tables: RequiredSchemaSource["enum_tables"],
115
+ workflow: string,
116
+ ): Record<string, string[]> {
117
+ if (!tables || tables.length === 0) return {};
118
+ const out: Record<string, string[]> = {};
119
+ for (const { table, columns } of tables) {
120
+ const tableEntry = mirror[table];
121
+ if (!tableEntry || typeof tableEntry !== "object" || Array.isArray(tableEntry)) {
122
+ fail(
123
+ `Workflow '${workflow}' references table '${table}' missing from schema-mirror.json. ` +
124
+ `Run \`tsx mcp-server/scripts/refresh-schema-mirror.ts\` against staging to regenerate.`,
125
+ );
126
+ }
127
+ const tableMap = tableEntry as Record<string, string[]>;
128
+ for (const col of columns) {
129
+ const values = tableMap[col];
130
+ if (!Array.isArray(values)) {
131
+ fail(
132
+ `Workflow '${workflow}' references ${table}.${col} missing from schema-mirror.json.`,
133
+ );
134
+ }
135
+ out[col] = [...values].sort();
136
+ }
137
+ }
138
+ return out;
139
+ }
140
+
141
+ function buildCompanion(
142
+ tools: Map<string, ToolDefinition>,
143
+ companion: RequiredSchemaSource["companion_calls"][number],
144
+ workflow: string,
145
+ ): Record<string, unknown> {
146
+ // Verify the tool exists; we don't pull required[] from its inputSchema
147
+ // since companion_calls already declare what the call requires (often a
148
+ // wrapper/batch shape rather than the raw entity required-fields).
149
+ if (!tools.has(companion.tool)) {
150
+ fail(
151
+ `Workflow '${workflow}' companion '${companion.tool}' not in ToolRegistry. ` +
152
+ `Edit required-schemas.source.ts.`,
153
+ );
154
+ }
155
+ const out: Record<string, unknown> = {
156
+ tool: companion.tool,
157
+ when: companion.when,
158
+ required: companion.required,
159
+ };
160
+ if (companion.per_row_required) {
161
+ out.per_row_required = companion.per_row_required;
162
+ }
163
+ if (companion.constraint) {
164
+ out.constraint = companion.constraint;
165
+ }
166
+ return out;
167
+ }
168
+
169
+ function buildResource(
170
+ tools: Map<string, ToolDefinition>,
171
+ mirror: SchemaMirror,
172
+ source: RequiredSchemaSource,
173
+ ): Record<string, unknown> {
174
+ const { required, properties } = getRequiredAndProperties(
175
+ tools,
176
+ source.primary_tool,
177
+ `Workflow '${source.workflow}' primary_tool`,
178
+ );
179
+ const recommended = properties.filter((p) => !required.includes(p));
180
+ const enums = buildEnums(mirror, source.enum_tables, source.workflow);
181
+ const companions = source.companion_calls.map((c) =>
182
+ buildCompanion(tools, c, source.workflow),
183
+ );
184
+
185
+ return {
186
+ workflow: source.workflow,
187
+ summary: source.summary,
188
+ primary_tool: source.primary_tool,
189
+ primary_required: required,
190
+ primary_recommended: recommended,
191
+ enums,
192
+ companion_calls: companions,
193
+ example: source.example,
194
+ };
195
+ }
196
+
197
+ function emit(resources: Record<string, Record<string, unknown>>): string {
198
+ // Sort keys deterministically so re-runs produce byte-identical output.
199
+ const sortedKeys = Object.keys(resources).sort();
200
+ const sortedResources: Record<string, Record<string, unknown>> = {};
201
+ for (const k of sortedKeys) sortedResources[k] = resources[k];
202
+
203
+ const json = JSON.stringify(sortedResources, null, 2);
204
+ return [
205
+ "// Copyright (c) 2024-2026 Withpica Ltd. All rights reserved.",
206
+ "//",
207
+ "// AUTO-GENERATED by mcp-server/scripts/build-required-schemas.ts.",
208
+ "// Do not edit by hand. Re-run via `cd mcp-server && npm run prebuild`.",
209
+ "// Source: required-schemas.source.ts + schema-mirror.json + ToolRegistry inputSchemas.",
210
+ "// ADR-214 — required-fields contracts per workflow.",
211
+ "",
212
+ "export const REQUIRED_SCHEMAS = " + json + " as const;",
213
+ "",
214
+ "export type RequiredSchemaKey = keyof typeof REQUIRED_SCHEMAS;",
215
+ "",
216
+ ].join("\n");
217
+ }
218
+
219
+ function main(): void {
220
+ const tools = loadRegistry();
221
+ const mirror = loadMirror();
222
+ const out: Record<string, Record<string, unknown>> = {};
223
+ for (const [key, source] of Object.entries(REQUIRED_SCHEMAS_SOURCE)) {
224
+ out[key] = buildResource(tools, mirror, source);
225
+ }
226
+ const text = emit(out);
227
+ writeFileSync(OUTPUT_PATH, text, "utf-8");
228
+ console.log(
229
+ `[build-required-schemas] wrote ${Object.keys(out).length} schemas to ${OUTPUT_PATH}`,
230
+ );
231
+ }
232
+
233
+ main();
@@ -0,0 +1,182 @@
1
+ // Copyright (c) 2024-2026 Withpica Ltd. All rights reserved.
2
+
3
+ /**
4
+ * ADR-214 — refresh schema-mirror.json against staging or prod.
5
+ *
6
+ * Connects to the configured Postgres URL (env var SUPABASE_DB_URL or
7
+ * DATABASE_URL) and queries pg_constraint for CHECK constraints on the
8
+ * tables backing Phase 1 schema resources. Parses the constraint
9
+ * definitions, extracts enum values, writes a deterministic JSON file at
10
+ * mcp-server/src/resources/schema-mirror.json.
11
+ *
12
+ * NOT run by CI — humans run this when they suspect or know that a CHECK
13
+ * constraint changed in production. The mirror is committed to git so PR
14
+ * diffs surface drift.
15
+ *
16
+ * Usage:
17
+ * SUPABASE_DB_URL=postgres://... npx tsx mcp-server/scripts/refresh-schema-mirror.ts
18
+ *
19
+ * Optional dep: `pg` (added as devDependency on mcp-server).
20
+ */
21
+
22
+ import { readFileSync, writeFileSync } from "node:fs";
23
+ import { dirname, join } from "node:path";
24
+ import { fileURLToPath } from "node:url";
25
+
26
+ const __filename = fileURLToPath(import.meta.url);
27
+ const __dirname = dirname(__filename);
28
+ const MIRROR_PATH = join(
29
+ __dirname,
30
+ "..",
31
+ "src/resources/schema-mirror.json",
32
+ );
33
+
34
+ interface MirrorContent {
35
+ _generated_at: string;
36
+ _source: string;
37
+ _note: string;
38
+ [table: string]:
39
+ | string
40
+ | Record<string, string[]>;
41
+ }
42
+
43
+ const TABLES_TO_MIRROR: Array<{ table: string; columns: string[] }> = [
44
+ { table: "audio_files", columns: ["classification", "file_type"] },
45
+ { table: "recording_credits", columns: ["role"] },
46
+ { table: "recordings", columns: ["version_type"] },
47
+ {
48
+ table: "work_credits",
49
+ columns: ["attestation_status", "credit_type", "rights_type"],
50
+ },
51
+ { table: "works", columns: ["work_status", "work_type"] },
52
+ ];
53
+
54
+ function fail(msg: string): never {
55
+ console.error(`[refresh-schema-mirror] ERROR: ${msg}`);
56
+ process.exit(1);
57
+ }
58
+
59
+ /**
60
+ * Parse a CHECK constraint definition string for ANY-of-array shapes.
61
+ * Postgres formats vary; common shapes:
62
+ * CHECK ((work_type = ANY (ARRAY['song'::text, 'instrumental'::text, ...])))
63
+ * CHECK ((work_type::text = ANY (ARRAY['song'::text, ...])))
64
+ * CHECK (work_type IN ('song', 'instrumental', ...))
65
+ * Returns the literal values in source order; caller sorts for determinism.
66
+ */
67
+ function parseEnumFromCheckDef(def: string): string[] | null {
68
+ // Match ARRAY[...] form
69
+ const arrayMatch = def.match(/ARRAY\[([^\]]+)\]/);
70
+ if (arrayMatch) {
71
+ const inside = arrayMatch[1];
72
+ const literals = [...inside.matchAll(/'([^']+)'/g)].map((m) => m[1]);
73
+ return literals.length > 0 ? literals : null;
74
+ }
75
+ // Match IN (...) form
76
+ const inMatch = def.match(/IN\s*\(([^)]+)\)/i);
77
+ if (inMatch) {
78
+ const inside = inMatch[1];
79
+ const literals = [...inside.matchAll(/'([^']+)'/g)].map((m) => m[1]);
80
+ return literals.length > 0 ? literals : null;
81
+ }
82
+ return null;
83
+ }
84
+
85
+ async function main(): Promise<void> {
86
+ const dbUrl = process.env.SUPABASE_DB_URL ?? process.env.DATABASE_URL;
87
+ if (!dbUrl) {
88
+ fail(
89
+ "SUPABASE_DB_URL (or DATABASE_URL) env var not set. Provide a Postgres connection string for staging or prod.",
90
+ );
91
+ }
92
+
93
+ // Lazy-import pg so the file type-checks even if pg isn't installed.
94
+ // Generator is the hot path; refresh is operator-only.
95
+ let Client: typeof import("pg").Client;
96
+ try {
97
+ ({ Client } = await import("pg"));
98
+ } catch {
99
+ fail(
100
+ "pg npm package not installed. Run: cd mcp-server && npm install --save-dev pg @types/pg",
101
+ );
102
+ }
103
+
104
+ const client = new Client({ connectionString: dbUrl });
105
+ await client.connect();
106
+
107
+ const out: Record<string, Record<string, string[]>> = {};
108
+
109
+ for (const { table, columns } of TABLES_TO_MIRROR) {
110
+ out[table] = {};
111
+ for (const col of columns) {
112
+ // Find a CHECK constraint on this column. Look for any constraint
113
+ // whose pg_get_constraintdef text references the column name and
114
+ // contains an ANY/IN enum list.
115
+ const result = await client.query<{ def: string }>(
116
+ `
117
+ SELECT pg_get_constraintdef(oid) AS def
118
+ FROM pg_constraint
119
+ WHERE conrelid = $1::regclass
120
+ AND contype = 'c'
121
+ AND pg_get_constraintdef(oid) ILIKE $2
122
+ `,
123
+ [`public.${table}`, `%${col}%`],
124
+ );
125
+
126
+ let values: string[] | null = null;
127
+ for (const row of result.rows) {
128
+ const parsed = parseEnumFromCheckDef(row.def);
129
+ if (parsed && parsed.length > 0) {
130
+ values = parsed;
131
+ break;
132
+ }
133
+ }
134
+ if (!values) {
135
+ console.warn(
136
+ `[refresh-schema-mirror] warn: no enum CHECK found for ${table}.${col}; leaving empty array`,
137
+ );
138
+ values = [];
139
+ }
140
+ out[table][col] = [...values].sort();
141
+ }
142
+ }
143
+
144
+ await client.end();
145
+
146
+ // Preserve metadata from existing mirror if present.
147
+ let existingNote =
148
+ "CHECK constraint enums for tables backing ADR-214 Phase 1 schemas. Refresh via `npx tsx mcp-server/scripts/refresh-schema-mirror.ts` against staging. Committed so PR diffs surface schema drift. See ADR-214 Decision section, Drift Prevention #3.";
149
+ try {
150
+ const prev = JSON.parse(
151
+ readFileSync(MIRROR_PATH, "utf-8"),
152
+ ) as MirrorContent;
153
+ if (typeof prev._note === "string") existingNote = prev._note;
154
+ } catch {
155
+ // first run — fine
156
+ }
157
+
158
+ const sortedTables = Object.keys(out).sort();
159
+ const sortedOut: Record<string, Record<string, string[]>> = {};
160
+ for (const t of sortedTables) {
161
+ const cols = Object.keys(out[t]).sort();
162
+ sortedOut[t] = {};
163
+ for (const c of cols) sortedOut[t][c] = out[t][c];
164
+ }
165
+
166
+ const final: MirrorContent = {
167
+ _generated_at: new Date().toISOString(),
168
+ _source: dbUrl.replace(/:[^:@]+@/, ":***@"),
169
+ _note: existingNote,
170
+ ...sortedOut,
171
+ };
172
+
173
+ writeFileSync(MIRROR_PATH, JSON.stringify(final, null, 2) + "\n", "utf-8");
174
+ console.log(
175
+ `[refresh-schema-mirror] wrote ${sortedTables.length} tables to ${MIRROR_PATH}`,
176
+ );
177
+ }
178
+
179
+ main().catch((err) => {
180
+ console.error(err);
181
+ process.exit(1);
182
+ });
package/server.json CHANGED
@@ -6,12 +6,12 @@
6
6
  "url": "https://github.com/withpica/pica",
7
7
  "source": "github"
8
8
  },
9
- "version": "2.39.0",
9
+ "version": "2.40.0",
10
10
  "packages": [
11
11
  {
12
12
  "registryType": "npm",
13
13
  "identifier": "@withpica/mcp-server",
14
- "version": "2.39.0",
14
+ "version": "2.40.0",
15
15
  "transport": {
16
16
  "type": "stdio"
17
17
  }