@raytio/mcp-server 10.4.0 → 10.5.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-binding-manifest.d.ts","sourceRoot":"","sources":["../../src/contracts/tool-binding-manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,gCAAgC,CAAC;AAExC,QAAA,MAAM,eAAe,+DAA6D,CAAC;AAmDnF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAI5B,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGpC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAC5E,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D;;;;GAIG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsEQ,CAAC;AAEzC,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;IAC3C,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5B,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACrC;AAED,gFAAgF;AAChF,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,uBAAuB,EACjC,YAAY,EAAE,SAAS,gBAAgB,EAAE,GACxC,mBAAmB,CAwFrB;AAID;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,uBAAuB,GACjC,OAAO,CAmBT"}
@@ -0,0 +1,242 @@
1
+ import { z } from 'zod';
2
+ import { loadPersistResourceContract, } from './persist-resource-contract.js';
3
+ const operationSchema = z.enum(['create', 'update', 'filter', 'read', 'response']);
4
+ const nonEmptyReason = z.string().trim().min(1, 'Every semantic override requires a reason');
5
+ const mappedFieldSchema = z.object({
6
+ toolField: z.string().min(1),
7
+ upstreamField: z.string().min(1),
8
+ mapping: z.enum(['direct', 'alias']),
9
+ requirement: z.enum(['upstream', 'optional']),
10
+ });
11
+ const overrideSchema = z.discriminatedUnion('kind', [
12
+ z.object({ kind: z.literal('database_default'), reason: nonEmptyReason }),
13
+ z.object({ kind: z.literal('trigger'), reason: nonEmptyReason }),
14
+ z.object({ kind: z.literal('generated'), reason: nonEmptyReason }),
15
+ z.object({ kind: z.literal('auth_context'), reason: nonEmptyReason }),
16
+ z.object({ kind: z.literal('composite_logic'), reason: nonEmptyReason }),
17
+ z.object({ kind: z.literal('hidden'), reason: nonEmptyReason }),
18
+ z.object({ kind: z.literal('nullable'), reason: nonEmptyReason }),
19
+ z.object({
20
+ kind: z.literal('conditional'),
21
+ reason: nonEmptyReason,
22
+ condition: z.string().trim().min(1),
23
+ }),
24
+ ]);
25
+ const overriddenFieldSchema = z.object({
26
+ toolField: z.string().min(1).optional(),
27
+ upstreamField: z.string().min(1),
28
+ override: overrideSchema,
29
+ });
30
+ const surfaceSchema = z.object({
31
+ operation: operationSchema,
32
+ fields: z.array(mappedFieldSchema),
33
+ overrides: z.array(overriddenFieldSchema),
34
+ });
35
+ const authoritySchema = z.discriminatedUnion('kind', [
36
+ z.object({ kind: z.literal('relation'), resourceId: z.string().min(1) }),
37
+ z.object({
38
+ kind: z.literal('endpoint'),
39
+ endpoint: z.string().min(1),
40
+ fields: z.array(z.string().min(1)),
41
+ }),
42
+ z.object({
43
+ kind: z.literal('composite'),
44
+ sources: z.array(z.string().min(1)).min(2),
45
+ reason: nonEmptyReason,
46
+ }),
47
+ ]);
48
+ export const toolBindingSchema = z.object({
49
+ toolName: z.string().min(1),
50
+ authority: authoritySchema,
51
+ surfaces: z.array(surfaceSchema).min(1),
52
+ });
53
+ export const toolBindingManifestSchema = z.object({
54
+ version: z.literal(1),
55
+ tools: z.array(toolBindingSchema),
56
+ });
57
+ /**
58
+ * Initial manifest for direct PPM bindings. Each operation has its own field
59
+ * surface: sharing a relation never implies identical create, update, filter,
60
+ * and response semantics.
61
+ */
62
+ export const toolBindingManifest = {
63
+ version: 1,
64
+ tools: [
65
+ {
66
+ toolName: 'ppm_work_item_create',
67
+ authority: { kind: 'relation', resourceId: 'ppm_work_items' },
68
+ surfaces: [
69
+ {
70
+ operation: 'create',
71
+ fields: [{ toolField: 'role_id', upstreamField: 'role_id', mapping: 'direct', requirement: 'upstream' }],
72
+ overrides: [
73
+ {
74
+ upstreamField: 'tenant_id',
75
+ override: {
76
+ kind: 'auth_context',
77
+ reason: 'Tenant identity is derived from the authenticated JWT and is never caller-controlled.',
78
+ },
79
+ },
80
+ {
81
+ upstreamField: 'created_date',
82
+ override: {
83
+ kind: 'trigger',
84
+ reason: 'Audit timestamps are populated by Persist rather than accepted from MCP callers.',
85
+ },
86
+ },
87
+ {
88
+ upstreamField: 'updated_date',
89
+ override: {
90
+ kind: 'trigger',
91
+ reason: 'Audit timestamps are populated by Persist rather than accepted from MCP callers.',
92
+ },
93
+ },
94
+ ],
95
+ },
96
+ ],
97
+ },
98
+ {
99
+ toolName: 'ppm_template_slot_create',
100
+ authority: { kind: 'relation', resourceId: 'ppm_epic_template_slots' },
101
+ surfaces: [
102
+ {
103
+ operation: 'create',
104
+ fields: [
105
+ { toolField: 'template_id', upstreamField: 'template_id', mapping: 'direct', requirement: 'upstream' },
106
+ { toolField: 'slot_code', upstreamField: 'slot_code', mapping: 'direct', requirement: 'upstream' },
107
+ { toolField: 'slot_name', upstreamField: 'slot_name', mapping: 'direct', requirement: 'upstream' },
108
+ { toolField: 'slot_order', upstreamField: 'slot_order', mapping: 'direct', requirement: 'optional' },
109
+ { toolField: 'role_id', upstreamField: 'role_id', mapping: 'direct', requirement: 'upstream' },
110
+ ],
111
+ overrides: [
112
+ {
113
+ upstreamField: 'tenant_id',
114
+ override: {
115
+ kind: 'auth_context',
116
+ reason: 'Tenant identity is derived from the authenticated JWT and is never caller-controlled.',
117
+ },
118
+ },
119
+ {
120
+ upstreamField: 'slot_order',
121
+ toolField: 'slot_order',
122
+ override: {
123
+ kind: 'database_default',
124
+ reason: 'Persist supplies the default ordering value when the caller omits slot_order.',
125
+ },
126
+ },
127
+ ],
128
+ },
129
+ ],
130
+ },
131
+ ],
132
+ };
133
+ /** Validate references against the pinned upstream contract and MCP schemas. */
134
+ export function validateToolBindingManifest(input, contract, toolSurfaces) {
135
+ const manifest = toolBindingManifestSchema.parse(input);
136
+ const resources = new Map(contract.resources.map((resource) => [resource.resource_id, resource]));
137
+ const schemas = new Map(toolSurfaces.map((surface) => [
138
+ `${surface.toolName}:${surface.operation}`,
139
+ surface.fields,
140
+ ]));
141
+ const toolNames = new Set();
142
+ for (const tool of manifest.tools) {
143
+ if (toolNames.has(tool.toolName))
144
+ throw new Error(`Duplicate binding for tool ${tool.toolName}`);
145
+ toolNames.add(tool.toolName);
146
+ let upstreamFields;
147
+ if (tool.authority.kind === 'relation') {
148
+ const resource = resources.get(tool.authority.resourceId);
149
+ if (!resource) {
150
+ throw new Error(`${tool.toolName}: unknown Persist resource ${tool.authority.resourceId}`);
151
+ }
152
+ upstreamFields = new Set(resource.fields.map((field) => field.name));
153
+ }
154
+ else if (tool.authority.kind === 'endpoint') {
155
+ upstreamFields = new Set(tool.authority.fields);
156
+ }
157
+ else {
158
+ upstreamFields = new Set(tool.authority.sources);
159
+ }
160
+ const operations = new Set();
161
+ for (const surface of tool.surfaces) {
162
+ if (operations.has(surface.operation)) {
163
+ throw new Error(`${tool.toolName}: duplicate ${surface.operation} surface`);
164
+ }
165
+ operations.add(surface.operation);
166
+ if (tool.authority.kind === 'relation') {
167
+ const resource = resources.get(tool.authority.resourceId);
168
+ const expected = surface.operation === 'filter' || surface.operation === 'response'
169
+ ? 'read'
170
+ : surface.operation;
171
+ if (!resource.operations.includes(expected)) {
172
+ throw new Error(`${tool.toolName}: resource ${tool.authority.resourceId} does not support ${expected}`);
173
+ }
174
+ }
175
+ const schemaFields = schemas.get(`${tool.toolName}:${surface.operation}`);
176
+ if (!schemaFields)
177
+ throw new Error(`${tool.toolName}: missing MCP ${surface.operation} schema`);
178
+ const seenUpstream = new Set();
179
+ for (const field of [...surface.fields, ...surface.overrides]) {
180
+ if (!upstreamFields.has(field.upstreamField)) {
181
+ throw new Error(`${tool.toolName}.${surface.operation}: upstream field ${field.upstreamField} does not exist`);
182
+ }
183
+ if (seenUpstream.has(field.upstreamField) && !('override' in field)) {
184
+ throw new Error(`${tool.toolName}.${surface.operation}: duplicate mapping for ${field.upstreamField}`);
185
+ }
186
+ seenUpstream.add(field.upstreamField);
187
+ if (field.toolField && !schemaFields.has(field.toolField)) {
188
+ throw new Error(`${tool.toolName}.${surface.operation}: MCP field ${field.toolField} does not exist (obsolete alias or stale override)`);
189
+ }
190
+ }
191
+ for (const field of surface.fields) {
192
+ if (field.mapping === 'direct' && field.toolField !== field.upstreamField) {
193
+ throw new Error(`${tool.toolName}.${surface.operation}: ${field.toolField} must be declared as an alias`);
194
+ }
195
+ if (field.mapping === 'alias' && field.toolField === field.upstreamField) {
196
+ throw new Error(`${tool.toolName}.${surface.operation}: alias ${field.toolField} is obsolete`);
197
+ }
198
+ if (tool.authority.kind === 'relation' && field.requirement === 'upstream') {
199
+ const resource = resources.get(tool.authority.resourceId);
200
+ const upstreamRequired = resource.fields.find((candidate) => candidate.name === field.upstreamField).required;
201
+ const toolRequired = schemaFields.has(field.toolField) &&
202
+ toolSurfaces.find((candidate) => candidate.toolName === tool.toolName && candidate.operation === surface.operation).requiredFields.has(field.toolField);
203
+ if (toolRequired !== upstreamRequired) {
204
+ throw new Error(`${tool.toolName}.${field.toolField} required=${toolRequired}, but Persist ` +
205
+ `${field.upstreamField} required=${upstreamRequired}`);
206
+ }
207
+ }
208
+ }
209
+ }
210
+ }
211
+ return manifest;
212
+ }
213
+ let pinnedContract;
214
+ /**
215
+ * Whether a tool's create field is required, for tool schemas while the
216
+ * contract rollout remains incremental.
217
+ *
218
+ * `requirement: 'upstream'` follows Persist: for a relation binding the
219
+ * answer is the pinned resource contract's `required` flag for the mapped
220
+ * column, so a column that becomes nullable upstream makes the MCP field
221
+ * optional on the next contract sync. Endpoint and composite bindings have
222
+ * no column metadata, so `upstream` there means required.
223
+ * `requirement: 'optional'` is always optional.
224
+ */
225
+ export function isCreateFieldRequired(toolName, toolField, contract) {
226
+ const tool = toolBindingManifest.tools.find((entry) => entry.toolName === toolName);
227
+ const create = tool?.surfaces.find((surface) => surface.operation === 'create');
228
+ const field = create?.fields.find((candidate) => candidate.toolField === toolField);
229
+ if (!tool || !field || field.requirement !== 'upstream')
230
+ return false;
231
+ if (tool.authority.kind !== 'relation')
232
+ return true;
233
+ const source = contract ?? (pinnedContract ??= loadPersistResourceContract());
234
+ const resourceId = tool.authority.resourceId;
235
+ const resource = source.resources.find((candidate) => candidate.resource_id === resourceId);
236
+ const column = resource?.fields.find((candidate) => candidate.name === field.upstreamField);
237
+ if (!column) {
238
+ throw new Error(`${toolName}.${toolField}: Persist field ${resourceId}.${field.upstreamField} is not in the pinned contract`);
239
+ }
240
+ return column.required;
241
+ }
242
+ //# sourceMappingURL=tool-binding-manifest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-binding-manifest.js","sourceRoot":"","sources":["../../src/contracts/tool-binding-manifest.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ export declare const leadRunSchema: z.ZodObject<{
8
8
  }, {
9
9
  org_id: string;
10
10
  }>;
11
- source_id: z.ZodString;
11
+ source_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
12
12
  destination_org_id: z.ZodString;
13
13
  definition_version: z.ZodDefault<z.ZodNumber>;
14
14
  idempotency_key: z.ZodString;
@@ -24,28 +24,28 @@ export declare const leadRunSchema: z.ZodObject<{
24
24
  context: {
25
25
  org_id: string;
26
26
  };
27
- source_id: string;
28
27
  destination_org_id: string;
29
28
  definition_version: number;
30
29
  processing_policy: {
31
30
  partial_policy: "NONE" | "INDEPENDENT_OBJECTS";
32
31
  };
32
+ source_id?: string | null | undefined;
33
33
  }, {
34
34
  idempotency_key: string;
35
35
  context: {
36
36
  org_id: string;
37
37
  };
38
- source_id: string;
39
38
  destination_org_id: string;
40
39
  processing_policy: {
41
40
  partial_policy: "NONE" | "INDEPENDENT_OBJECTS";
42
41
  };
42
+ source_id?: string | null | undefined;
43
43
  definition_version?: number | undefined;
44
44
  }>;
45
45
  export declare const runCreateSchema: z.ZodEffects<z.ZodObject<{
46
46
  definition_code: z.ZodEnum<["FGL_COA_VALUES", "FGL_COA_COMBINATIONS", "SFA_LEADS", "FND_DAILY_RATES", "GPM_ITEMS", "PCM_PRICE_LIST_LINES"]>;
47
47
  context: z.ZodUnion<[z.ZodTypeAny, z.ZodTypeAny, ...z.ZodTypeAny[]]>;
48
- source_id: z.ZodString;
48
+ source_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
49
49
  destination_org_id: z.ZodString;
50
50
  definition_version: z.ZodDefault<z.ZodNumber>;
51
51
  idempotency_key: z.ZodString;
@@ -58,7 +58,6 @@ export declare const runCreateSchema: z.ZodEffects<z.ZodObject<{
58
58
  }>;
59
59
  }, "strict", z.ZodTypeAny, {
60
60
  idempotency_key: string;
61
- source_id: string;
62
61
  destination_org_id: string;
63
62
  definition_version: number;
64
63
  processing_policy: {
@@ -66,19 +65,19 @@ export declare const runCreateSchema: z.ZodEffects<z.ZodObject<{
66
65
  };
67
66
  definition_code: "FGL_COA_VALUES" | "FGL_COA_COMBINATIONS" | "SFA_LEADS" | "FND_DAILY_RATES" | "GPM_ITEMS" | "PCM_PRICE_LIST_LINES";
68
67
  context?: any;
68
+ source_id?: string | null | undefined;
69
69
  }, {
70
70
  idempotency_key: string;
71
- source_id: string;
72
71
  destination_org_id: string;
73
72
  processing_policy: {
74
73
  partial_policy: "NONE" | "INDEPENDENT_OBJECTS";
75
74
  };
76
75
  definition_code: "FGL_COA_VALUES" | "FGL_COA_COMBINATIONS" | "SFA_LEADS" | "FND_DAILY_RATES" | "GPM_ITEMS" | "PCM_PRICE_LIST_LINES";
77
76
  context?: any;
77
+ source_id?: string | null | undefined;
78
78
  definition_version?: number | undefined;
79
79
  }>, {
80
80
  idempotency_key: string;
81
- source_id: string;
82
81
  destination_org_id: string;
83
82
  definition_version: number;
84
83
  processing_policy: {
@@ -86,15 +85,16 @@ export declare const runCreateSchema: z.ZodEffects<z.ZodObject<{
86
85
  };
87
86
  definition_code: "FGL_COA_VALUES" | "FGL_COA_COMBINATIONS" | "SFA_LEADS" | "FND_DAILY_RATES" | "GPM_ITEMS" | "PCM_PRICE_LIST_LINES";
88
87
  context?: any;
88
+ source_id?: string | null | undefined;
89
89
  }, {
90
90
  idempotency_key: string;
91
- source_id: string;
92
91
  destination_org_id: string;
93
92
  processing_policy: {
94
93
  partial_policy: "NONE" | "INDEPENDENT_OBJECTS";
95
94
  };
96
95
  definition_code: "FGL_COA_VALUES" | "FGL_COA_COMBINATIONS" | "SFA_LEADS" | "FND_DAILY_RATES" | "GPM_ITEMS" | "PCM_PRICE_LIST_LINES";
97
96
  context?: any;
97
+ source_id?: string | null | undefined;
98
98
  definition_version?: number | undefined;
99
99
  }>;
100
100
  export declare const importRunCreateTool: Tool;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/imports/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAgBtC,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAA+E,CAAC;AAY1G,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAY1B,CAAC;AA0CH,eAAO,MAAM,mBAAmB,MAIS,CAAC;AAE1C,eAAO,MAAM,WAAW,EAAE,IAAI,EAsC7B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/imports/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAgBtC,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAA+E,CAAC;AAY1G,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAY1B,CAAC;AA0CH,eAAO,MAAM,mBAAmB,MAIS,CAAC;AAsB1C,eAAO,MAAM,WAAW,EAAE,IAAI,EAqC7B,CAAC"}
@@ -6,7 +6,7 @@ const version = z.number().int().min(1);
6
6
  const partial = z.enum(['NONE', 'INDEPENDENT_OBJECTS']);
7
7
  const upsert = z.enum(['CREATE_ONLY', 'REPLACE']);
8
8
  const common = {
9
- source_id: id.describe('Existing authorised source reference; credentials remain with the source owner'),
9
+ source_id: id.nullable().optional().describe('Authorised source reference; omit for file intake to use the organisation FILE source'),
10
10
  destination_org_id: id,
11
11
  definition_version: version.default(1),
12
12
  idempotency_key: key,
@@ -80,10 +80,30 @@ function endpoint(name, description, schema, route, read = false) {
80
80
  const runPath = (input) => `/imports/runs/${input.run_id}`;
81
81
  const accepted = ' Returns the server receipt and durable identifiers; acceptance is not import completion. Retry identical input with the same idempotency_key; changed input requires a new key.';
82
82
  export const importRunCreateTool = endpoint('fnd_import_run_create', 'Create a shared COA (no ledger), lead, daily-rate, catalogue item (GPM_ITEMS, context {org_id}) or price list line ' +
83
- '(PCM_PRICE_LIST_LINES, context {org_id, price_list_version_id}) import using an existing authorised source and explicit domain context. ' +
83
+ '(PCM_PRICE_LIST_LINES, context {org_id, price_list_version_id}) import using explicit domain context and an optional authorised source (required for API feeds). ' +
84
84
  'Item rows use items_interface_action I (insert), U (update), P (upsert, default) or D (deactivate).' + accepted, runCreateSchema, () => '/imports/runs');
85
+ const definitionsTool = {
86
+ name: 'fnd_import_definitions',
87
+ description: 'Discover active import definitions, fields and context through PostgREST.',
88
+ inputSchema: z.object({}).strict(),
89
+ sideEffect: 'read_only', confirmation: 'none', idempotency: 'read_only',
90
+ handler: async (args, ctx) => {
91
+ if (!z.object({}).strict().safeParse(args).success) {
92
+ return errorResponse('IMPORT_VALIDATION', 'Invalid import request');
93
+ }
94
+ try {
95
+ const result = await ctx.apiClient.get(`${ctx.apiClient.dbBasePath}/fnd_import_definitions`, {
96
+ query: { active: 'eq.true', order: 'definition_code,definition_version', limit: '100' },
97
+ });
98
+ return successResponse({ definitions: z.array(response).parse(result) });
99
+ }
100
+ catch {
101
+ return errorResponse(API_ERROR, 'Import definition discovery failed');
102
+ }
103
+ },
104
+ };
85
105
  export const importTools = [
86
- endpoint('fnd_import_definitions', 'Discover authoritative registered import definitions, fields, context and availability.', z.object({}).strict(), () => '/imports/definitions', true),
106
+ definitionsTool,
87
107
  importRunCreateTool,
88
108
  endpoint('fnd_import_upload_reserve', 'Reserve private immutable evidence for a CSV or structured artifact.' + accepted, z.object({ ...command, generation: version.default(1), sha256: z.string().regex(/^[0-9a-f]{64}$/),
89
109
  size_bytes: z.number().int().min(1).max(10485760), format: z.enum(['CSV', 'STRUCTURED']).default('CSV') }).strict(), i => `${runPath(i)}/uploads`),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/imports/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/imports/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"template-slot-create.d.ts","sourceRoot":"","sources":["../../../src/tools/ppm/template-slot-create.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAOtC,eAAO,MAAM,sBAAsB,EAAE,IA4CpC,CAAC"}
1
+ {"version":3,"file":"template-slot-create.d.ts","sourceRoot":"","sources":["../../../src/tools/ppm/template-slot-create.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAOtC,eAAO,MAAM,sBAAsB,EAAE,IA2CpC,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { z } from 'zod';
2
2
  import { successResponse, errorResponse, API_ERROR } from '../types.js';
3
3
  import { EPIC_TEMPLATE_SLOT_SELECT } from '../../ppm/projection.js';
4
- import { persistContract, withPersistInsertRequirement } from '../../contracts/persist-contract.js';
4
+ import { isCreateFieldRequired } from '../../contracts/tool-binding-manifest.js';
5
5
  import { cap } from '../../capabilities/tool-capability.js';
6
6
  export const templateSlotCreateTool = {
7
7
  name: 'ppm_template_slot_create',
@@ -12,7 +12,9 @@ export const templateSlotCreateTool = {
12
12
  slot_name: z.string().max(256).describe('Display label for this slot'),
13
13
  slot_description: z.string().nullable().optional().describe('Description of what this slot represents'),
14
14
  work_item_type: z.string().max(32).nullable().optional().describe('Work item type created for this slot (e.g. TASK, STORY)'),
15
- role_id: withPersistInsertRequirement(z.string(), persistContract.fields.ppmTemplateSlotCreateRoleId).describe('UUID of the WRM role for this slot'),
15
+ role_id: (isCreateFieldRequired('ppm_template_slot_create', 'role_id')
16
+ ? z.string()
17
+ : z.string().optional()).describe('UUID of the WRM role for this slot'),
16
18
  slot_order: z.number().int().nullable().optional().describe('Sort order within the template (default 0)'),
17
19
  }),
18
20
  capabilities: [
@@ -1 +1 @@
1
- {"version":3,"file":"template-slot-create.js","sourceRoot":"","sources":["../../../src/tools/ppm/template-slot-create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAEpE,OAAO,EAAE,eAAe,EAAE,4BAA4B,EAAE,MAAM,qCAAqC,CAAC;AACpG,OAAO,EAAE,GAAG,EAAE,MAAM,uCAAuC,CAAC;AAE5D,MAAM,CAAC,MAAM,sBAAsB,GAAS;IAC1C,IAAI,EAAE,0BAA0B;IAChC,WAAW,EAAE,8CAA8C;IAC3D,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;QACpE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,8CAA8C,CAAC;QACtF,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,6BAA6B,CAAC;QACtE,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;QACvG,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yDAAyD,CAAC;QAC5H,OAAO,EAAE,4BAA4B,CACnC,CAAC,CAAC,MAAM,EAAE,EACV,eAAe,CAAC,MAAM,CAAC,2BAA2B,CACnD,CAAC,QAAQ,CAAC,oCAAoC,CAAC;QAChD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;KAC1G,CAAC;IACF,YAAY,EAAE;QACZ,GAAG,CAAC,yBAAyB,EAAE,QAAQ,CAAC;KACzC;IACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;QAC3B,MAAM,KAAK,GAAG,sBAAsB,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE7D,IAAI,CAAC;YACH,MAAM,IAAI,GAA4B;gBACpC,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC;YAEF,IAAI,KAAK,CAAC,cAAc,KAAK,SAAS;gBAAE,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC;YACnF,IAAI,KAAK,CAAC,gBAAgB,KAAK,SAAS;gBAAE,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC;YACzF,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS;gBAAE,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;YAEvE,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,SAAS,CAAC,IAAI,CACpC,yCAAyC,yBAAyB,EAAE,EACpE,IAAI,EACJ,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,uBAAuB,EAAE,EAAE,CACjD,CAAC;YAEF,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACnC,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,aAAa,CAAC,SAAS,EAAE,mCAAmC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACtF,CAAC;IACH,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"template-slot-create.js","sourceRoot":"","sources":["../../../src/tools/ppm/template-slot-create.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"work-item-create.d.ts","sourceRoot":"","sources":["../../../src/tools/ppm/work-item-create.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAOtC,eAAO,MAAM,kBAAkB,EAAE,IAuDhC,CAAC"}
1
+ {"version":3,"file":"work-item-create.d.ts","sourceRoot":"","sources":["../../../src/tools/ppm/work-item-create.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAOtC,eAAO,MAAM,kBAAkB,EAAE,IAsDhC,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { z } from 'zod';
2
2
  import { successResponse, errorResponse, API_ERROR } from '../types.js';
3
3
  import { WORK_ITEM_SELECT } from '../../ppm/projection.js';
4
- import { persistContract, withPersistInsertRequirement } from '../../contracts/persist-contract.js';
4
+ import { isCreateFieldRequired } from '../../contracts/tool-binding-manifest.js';
5
5
  import { cap } from '../../capabilities/tool-capability.js';
6
6
  export const workItemCreateTool = {
7
7
  name: 'ppm_work_item_create',
@@ -20,7 +20,9 @@ export const workItemCreateTool = {
20
20
  external_system_id: z.string().optional().describe('External system UUID (FK → ppm_external_systems)'),
21
21
  external_item_id: z.string().optional().describe('Identifier of this item in the external system (e.g. GitLab issue number, Jira key)'),
22
22
  confidential: z.boolean().optional().describe('Whether the item is confidential'),
23
- role_id: withPersistInsertRequirement(z.string(), persistContract.fields.ppmWorkItemCreateRoleId).describe('UUID of the WRM role for this work item'),
23
+ role_id: (isCreateFieldRequired('ppm_work_item_create', 'role_id')
24
+ ? z.string()
25
+ : z.string().optional()).describe('UUID of the WRM role for this work item'),
24
26
  metadata: z.record(z.unknown()).optional().describe('Arbitrary JSON metadata object'),
25
27
  }),
26
28
  capabilities: [
@@ -1 +1 @@
1
- {"version":3,"file":"work-item-create.js","sourceRoot":"","sources":["../../../src/tools/ppm/work-item-create.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"work-item-create.js","sourceRoot":"","sources":["../../../src/tools/ppm/work-item-create.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@raytio/mcp-server",
3
- "version": "10.4.0",
3
+ "version": "10.5.0",
4
4
  "description": "MCP server for secure AI agent access to Raytio user data",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",