openxiangda-mcp 2.0.0-alpha.41 → 2.0.0-alpha.43

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.
package/dist/index.d.ts CHANGED
@@ -6,29 +6,10 @@ export interface ApplicationAiMcpExecutor {
6
6
  createPreview(capability: AiCapability, input: Record<string, unknown>): Promise<unknown>;
7
7
  confirmPreview(previewId: string): Promise<unknown>;
8
8
  }
9
- /**
10
- * The smallest runtime surface an application needs to expose to AI. A Nest
11
- * application can pass its request-scoped OpenXiangdaDataApiService here;
12
- * that service already carries the verified current-user context and the
13
- * platform remains the authorization owner.
14
- */
15
- export interface ApplicationAiDataApi {
16
- query(resourceCode: string, input: Record<string, unknown>): Promise<unknown>;
17
- get(resourceCode: string, id: string): Promise<unknown>;
18
- create(resourceCode: string, data: Record<string, unknown>): Promise<unknown>;
19
- update(resourceCode: string, id: string, input: {
20
- expectedRevision: number;
21
- data: Record<string, unknown>;
22
- }): Promise<unknown>;
23
- delete(resourceCode: string, id: string, expectedRevision: number): Promise<unknown>;
24
- }
25
- export interface ApplicationAiDataApiExecutorOptions {
26
- dataApi: ApplicationAiDataApi;
27
- /** Execute a declared backend operation after the host rechecks identity and authorization. */
28
- executeCustom?: (capability: AiCapability, input: Record<string, unknown>) => Promise<unknown>;
29
- previewTtlMs?: number;
30
- now?: () => number;
31
- idFactory?: () => string;
9
+ export interface ApplicationAiPlatformApi {
10
+ executeRead(capabilityCode: string, input: Record<string, unknown>): Promise<unknown>;
11
+ createPreview(capabilityCode: string, input: Record<string, unknown>): Promise<unknown>;
12
+ confirmPreview(previewId: string): Promise<unknown>;
32
13
  }
33
14
  export interface ApplicationAiMcpOptions {
34
15
  catalog: AiCapabilityCatalog;
@@ -41,20 +22,17 @@ export interface AggregatedApplicationAiMcpEntry {
41
22
  executor: ApplicationAiMcpExecutor;
42
23
  }
43
24
  export interface AggregatedApplicationAiMcpOptions {
44
- applications: AggregatedApplicationAiMcpEntry[];
25
+ /** Reload current-user catalogs on every tool invocation. */
26
+ loadApplications(): Promise<AggregatedApplicationAiMcpEntry[]>;
45
27
  serverName?: string;
46
28
  serverVersion?: string;
47
29
  }
48
30
  export declare const APPLICATION_AI_MCP_CATALOG_URI = "openxiangda://ai/catalog";
49
31
  export declare const APPLICATION_AI_MCP_CONFIRM_TOOL = "openxiangda.ai.confirm";
50
32
  export declare const AGGREGATED_AI_MCP_CATALOG_URI = "openxiangda://ai/catalog";
51
- /**
52
- * Bind the generated CRUD Catalog to the application's existing Data API.
53
- * The preview store is intentionally process-local for this first slice; the
54
- * platform Gateway can replace it with a short-lived durable store without
55
- * changing the MCP contract.
56
- */
57
- export declare function createApplicationAiDataApiExecutor(options: ApplicationAiDataApiExecutorOptions): ApplicationAiMcpExecutor;
33
+ export declare const AGGREGATED_AI_MCP_TOOL_NAMES: readonly ["apps.search", "resources.describe", "records.query", "records.get", "records.create", "records.update", "records.delete", "actions.invoke", "mutations.confirm"];
34
+ /** Bind an application MCP facade to the platform-owned AI execution boundary. */
35
+ export declare function createApplicationAiPlatformExecutor(platformApi: ApplicationAiPlatformApi): ApplicationAiMcpExecutor;
58
36
  /**
59
37
  * Build one application-scoped MCP facade from the immutable AI Catalog.
60
38
  * Identity, Data API authorization and preview storage remain owned by the
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAkB,MAAM,8BAA8B,CAAC;AAGzE,OAAO,EAEL,8BAA8B,EAC/B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACzB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,WAAW,wBAAwB;IACvC,WAAW,CACT,UAAU,EAAE,YAAY,EACxB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,OAAO,CAAC,OAAO,CAAC,CAAC;IACpB,aAAa,CACX,UAAU,EAAE,YAAY,EACxB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,OAAO,CAAC,OAAO,CAAC,CAAC;IACpB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACrD;AAED,MAAM,WAAW,wBAAwB;IACvC,WAAW,CACT,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,OAAO,CAAC,OAAO,CAAC,CAAC;IACpB,aAAa,CACX,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,OAAO,CAAC,OAAO,CAAC,CAAC;IACpB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACrD;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,mBAAmB,CAAC;IAC7B,QAAQ,EAAE,wBAAwB,CAAC;IACnC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,+BAA+B;IAC9C,OAAO,EAAE,mBAAmB,CAAC;IAC7B,QAAQ,EAAE,wBAAwB,CAAC;CACpC;AAED,MAAM,WAAW,iCAAiC;IAChD,6DAA6D;IAC7D,gBAAgB,IAAI,OAAO,CAAC,+BAA+B,EAAE,CAAC,CAAC;IAC/D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,8BAA8B,6BAA6B,CAAC;AACzE,eAAO,MAAM,+BAA+B,2BAA2B,CAAC;AACxE,eAAO,MAAM,6BAA6B,6BAA6B,CAAC;AACxE,eAAO,MAAM,4BAA4B,6KAU/B,CAAC;AAEX,kFAAkF;AAClF,wBAAgB,mCAAmC,CACjD,WAAW,EAAE,wBAAwB,GACpC,wBAAwB,CAkB1B;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,uBAAuB,aA6E5E;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,iCAAiC,aAyR3C;AASD,eAAO,MAAM,iBAAiB,wNAOpB,CAAC;AAEX,eAAO,MAAM,cAAc,8RAgBjB,CAAC;AAEX,wBAAgB,0BAA0B,CACxC,OAAO,GAAE;IACP,QAAQ,CAAC,EAAE,8BAA8B,CAAC;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAC;CACV,aA2IP;AAED,wBAAsB,cAAc,CAAC,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,sBAKnE"}
package/dist/index.js CHANGED
@@ -6,50 +6,34 @@ import { assertAiCapabilityCatalog, } from 'openxiangda-contracts';
6
6
  export const APPLICATION_AI_MCP_CATALOG_URI = 'openxiangda://ai/catalog';
7
7
  export const APPLICATION_AI_MCP_CONFIRM_TOOL = 'openxiangda.ai.confirm';
8
8
  export const AGGREGATED_AI_MCP_CATALOG_URI = 'openxiangda://ai/catalog';
9
- /**
10
- * Bind the generated CRUD Catalog to the application's existing Data API.
11
- * The preview store is intentionally process-local for this first slice; the
12
- * platform Gateway can replace it with a short-lived durable store without
13
- * changing the MCP contract.
14
- */
15
- export function createApplicationAiDataApiExecutor(options) {
16
- const previews = new Map();
17
- const now = options.now || (() => Date.now());
18
- const previewTtlMs = Math.min(Math.max(options.previewTtlMs || 5 * 60_000, 10_000), 15 * 60_000);
19
- const idFactory = options.idFactory || (() => crypto.randomUUID());
9
+ export const AGGREGATED_AI_MCP_TOOL_NAMES = [
10
+ 'apps.search',
11
+ 'resources.describe',
12
+ 'records.query',
13
+ 'records.get',
14
+ 'records.create',
15
+ 'records.update',
16
+ 'records.delete',
17
+ 'actions.invoke',
18
+ 'mutations.confirm',
19
+ ];
20
+ /** Bind an application MCP facade to the platform-owned AI execution boundary. */
21
+ export function createApplicationAiPlatformExecutor(platformApi) {
20
22
  return {
21
23
  async executeRead(capability, input) {
22
24
  if (capability.risk !== 'read') {
23
25
  throw new Error('AI_READ_CAPABILITY_REQUIRED');
24
26
  }
25
- return await executeDataApiOperation(options.dataApi, capability, input, options.executeCustom);
27
+ return await platformApi.executeRead(capability.code, input);
26
28
  },
27
29
  async createPreview(capability, input) {
28
30
  if (capability.risk === 'read') {
29
31
  throw new Error('AI_MUTATION_CAPABILITY_REQUIRED');
30
32
  }
31
- const previewId = idFactory();
32
- const expiresAt = now() + previewTtlMs;
33
- previews.set(previewId, { capability, input, expiresAt });
34
- return {
35
- previewId,
36
- expiresAt: new Date(expiresAt).toISOString(),
37
- appCode: capability.appCode,
38
- capabilityCode: capability.code,
39
- resourceCode: capability.resources[0],
40
- operation: capability.operation,
41
- input,
42
- requiresConfirmation: true,
43
- };
33
+ return await platformApi.createPreview(capability.code, input);
44
34
  },
45
35
  async confirmPreview(previewId) {
46
- const preview = previews.get(previewId);
47
- if (!preview)
48
- throw new Error('AI_PREVIEW_NOT_FOUND');
49
- previews.delete(previewId);
50
- if (preview.expiresAt <= now())
51
- throw new Error('AI_PREVIEW_EXPIRED');
52
- return await executeDataApiOperation(options.dataApi, preview.capability, preview.input, options.executeCustom);
36
+ return await platformApi.confirmPreview(previewId);
53
37
  },
54
38
  };
55
39
  }
@@ -118,83 +102,203 @@ export function createApplicationAiMcpServer(options) {
118
102
  * never merges permissions or creates a second data/auth boundary.
119
103
  */
120
104
  export function createAggregatedAiMcpServer(options) {
121
- if (!Array.isArray(options.applications) || options.applications.length === 0) {
122
- throw new Error('AI_APPLICATIONS_REQUIRED');
105
+ if (typeof options.loadApplications !== 'function') {
106
+ throw new Error('AI_APPLICATION_LOADER_REQUIRED');
123
107
  }
124
- const entries = options.applications.map(entry => {
125
- assertAiCapabilityCatalog(entry.catalog);
126
- return entry;
127
- });
128
- const capabilities = new Map();
129
- for (const entry of entries) {
130
- for (const capability of entry.catalog.capabilities) {
131
- if (capabilities.has(capability.code)) {
132
- throw new Error(`AI_CAPABILITY_CODE_CONFLICT:${capability.code}`);
108
+ const loadApplications = async () => {
109
+ const entries = await options.loadApplications();
110
+ if (!Array.isArray(entries) || entries.length > 1000) {
111
+ throw new Error('AI_APPLICATION_SET_INVALID');
112
+ }
113
+ const appCodes = new Set();
114
+ const capabilityCodes = new Set();
115
+ for (const entry of entries) {
116
+ assertAiCapabilityCatalog(entry.catalog);
117
+ if (appCodes.has(entry.catalog.appCode)) {
118
+ throw new Error(`AI_APPLICATION_CODE_CONFLICT:${entry.catalog.appCode}`);
119
+ }
120
+ appCodes.add(entry.catalog.appCode);
121
+ for (const capability of entry.catalog.capabilities) {
122
+ if (capabilityCodes.has(capability.code)) {
123
+ throw new Error(`AI_CAPABILITY_CODE_CONFLICT:${capability.code}`);
124
+ }
125
+ capabilityCodes.add(capability.code);
133
126
  }
134
- capabilities.set(capability.code, { capability, executor: entry.executor });
135
127
  }
136
- }
128
+ return entries;
129
+ };
137
130
  const server = new McpServer({
138
131
  name: options.serverName || 'openxiangda-ai',
139
132
  version: options.serverVersion || '1.0.0',
140
133
  }, {
141
- instructions: 'Tools are grouped by application capability code. Read tools execute with the current application context; mutation tools only create a preview. Ask for explicit user confirmation before openxiangda.ai.confirm.',
134
+ instructions: 'Search applications, describe resources, then use the fixed record or action tools. Mutation tools only create a preview. Ask for explicit user confirmation before mutations.confirm.',
142
135
  });
143
- server.registerResource('ai-capability-catalog', AGGREGATED_AI_MCP_CATALOG_URI, { title: 'OpenXiangda AI Catalog', mimeType: 'application/json' }, async (resourceUri) => ({
144
- contents: [
145
- {
146
- uri: resourceUri.href,
147
- mimeType: 'application/json',
148
- text: JSON.stringify({
149
- schemaVersion: 'openxiangda.ai-capability-set/v1',
150
- applications: entries.map(entry => entry.catalog),
151
- }, null, 2),
152
- },
153
- ],
154
- }));
155
- const previewOwners = new Map();
156
- let hasMutation = false;
157
- for (const { capability, executor } of capabilities.values()) {
158
- const isRead = capability.risk === 'read';
159
- hasMutation ||= !isRead;
160
- const toolName = isRead ? capability.code : `${capability.code}.preview`;
161
- server.registerTool(toolName, {
162
- title: isRead ? capability.name : `${capability.name}预览`,
163
- description: isRead
164
- ? capability.description
165
- : `${capability.description}。此工具只生成预览,不会修改数据。`,
166
- inputSchema: fromJsonSchema(capability.inputSchema),
136
+ server.registerResource('ai-capability-catalog', AGGREGATED_AI_MCP_CATALOG_URI, { title: 'OpenXiangda AI Catalog', mimeType: 'application/json' }, async (resourceUri) => {
137
+ const entries = await loadApplications();
138
+ return {
139
+ contents: [
140
+ {
141
+ uri: resourceUri.href,
142
+ mimeType: 'application/json',
143
+ text: JSON.stringify({
144
+ schemaVersion: 'openxiangda.ai-capability-set/v1',
145
+ applications: entries.map(entry => entry.catalog),
146
+ }, null, 2),
147
+ },
148
+ ],
149
+ };
150
+ });
151
+ const recordInput = z.record(z.string(), z.unknown());
152
+ const appResourceInput = {
153
+ appCode: z.string().min(1),
154
+ resourceCode: z.string().min(1),
155
+ };
156
+ const resolveGenerated = async (appCode, resourceCode, operation) => {
157
+ const applications = await loadApplications();
158
+ const application = applications.find(entry => entry.catalog.appCode === appCode);
159
+ const capability = application?.catalog.capabilities.find(item => item.kind === 'generatedCrud' &&
160
+ item.generatedFrom?.resourceCode === resourceCode &&
161
+ item.generatedFrom.operation === operation);
162
+ if (!application || !capability) {
163
+ throw new Error('AI_CAPABILITY_NOT_FOUND');
164
+ }
165
+ return { capability, executor: application.executor };
166
+ };
167
+ const preview = async (entry, input) => {
168
+ const result = await entry.executor.createPreview(entry.capability, input);
169
+ const previewId = String(result?.previewId || '').trim();
170
+ if (!previewId)
171
+ throw new Error('AI_PREVIEW_ID_REQUIRED');
172
+ return result;
173
+ };
174
+ server.registerTool(AGGREGATED_AI_MCP_TOOL_NAMES[0], {
175
+ title: '搜索应用 AI 能力',
176
+ description: '按应用名称、编码或能力说明搜索当前用户可见的应用。',
177
+ inputSchema: z.object({
178
+ query: z.string().optional(),
179
+ limit: z.number().int().min(1).max(20).optional(),
180
+ }),
181
+ annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true },
182
+ }, async (input) => {
183
+ const entries = await loadApplications();
184
+ const query = String(input.query || '').trim().toLowerCase();
185
+ const applications = entries
186
+ .filter(entry => {
187
+ if (!query)
188
+ return true;
189
+ return [
190
+ entry.catalog.appCode,
191
+ entry.catalog.appName,
192
+ ...entry.catalog.capabilities.flatMap(capability => [
193
+ capability.name,
194
+ capability.description,
195
+ ]),
196
+ ].some(value => value.toLowerCase().includes(query));
197
+ })
198
+ .sort((left, right) => left.catalog.appCode.localeCompare(right.catalog.appCode))
199
+ .slice(0, input.limit || 20)
200
+ .map(entry => ({
201
+ appCode: entry.catalog.appCode,
202
+ appName: entry.catalog.appName,
203
+ capabilityCount: entry.catalog.capabilities.length,
204
+ }));
205
+ return aiToolResult({ applications });
206
+ });
207
+ server.registerTool(AGGREGATED_AI_MCP_TOOL_NAMES[1], {
208
+ title: '描述应用资源',
209
+ description: '读取一个应用资源对当前用户开放的 CRUD 与自定义动作。',
210
+ inputSchema: z.object(appResourceInput),
211
+ annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true },
212
+ }, async (input) => {
213
+ const entries = await loadApplications();
214
+ const entry = entries.find(item => item.catalog.appCode === input.appCode);
215
+ if (!entry)
216
+ throw new Error('AI_APPLICATION_NOT_FOUND');
217
+ const resourceCapabilities = entry.catalog.capabilities.filter(capability => capability.resources.includes(input.resourceCode));
218
+ if (resourceCapabilities.length === 0)
219
+ throw new Error('AI_RESOURCE_NOT_FOUND');
220
+ return aiToolResult({
221
+ appCode: input.appCode,
222
+ resourceCode: input.resourceCode,
223
+ capabilities: resourceCapabilities,
224
+ });
225
+ });
226
+ server.registerTool(AGGREGATED_AI_MCP_TOOL_NAMES[2], {
227
+ title: '查询应用记录',
228
+ description: '按声明字段和当前用户数据权限查询最多 100 条记录。',
229
+ inputSchema: z.object({ ...appResourceInput, input: recordInput }),
230
+ annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true },
231
+ }, async (input) => {
232
+ const entry = await resolveGenerated(input.appCode, input.resourceCode, 'query');
233
+ return aiToolResult(await entry.executor.executeRead(entry.capability, input.input));
234
+ });
235
+ server.registerTool(AGGREGATED_AI_MCP_TOOL_NAMES[3], {
236
+ title: '读取应用记录',
237
+ description: '按记录 ID 读取当前用户可见的详情。',
238
+ inputSchema: z.object({ ...appResourceInput, id: z.string().min(1) }),
239
+ annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true },
240
+ }, async (input) => {
241
+ const entry = await resolveGenerated(input.appCode, input.resourceCode, 'get');
242
+ return aiToolResult(await entry.executor.executeRead(entry.capability, { id: input.id }));
243
+ });
244
+ for (const [toolIndex, operation] of [
245
+ [4, 'create'],
246
+ [5, 'update'],
247
+ [6, 'delete'],
248
+ ]) {
249
+ server.registerTool(AGGREGATED_AI_MCP_TOOL_NAMES[toolIndex], {
250
+ title: `${operation === 'create' ? '新增' : operation === 'update' ? '更新' : '删除'}应用记录预览`,
251
+ description: '只生成待确认预览,不会在此调用中修改业务数据。',
252
+ inputSchema: z.object({ ...appResourceInput, input: recordInput }),
167
253
  annotations: {
168
254
  readOnlyHint: true,
169
- destructiveHint: !isRead && capability.risk === 'destructive',
170
- idempotentHint: isRead,
255
+ destructiveHint: operation === 'delete',
256
+ idempotentHint: false,
171
257
  },
172
258
  }, async (input) => {
173
- const result = isRead
174
- ? await executor.executeRead(capability, input)
175
- : await executor.createPreview(capability, input);
176
- if (!isRead) {
177
- const previewId = String(result?.previewId || '').trim();
178
- if (previewId)
179
- previewOwners.set(previewId, executor);
180
- }
181
- return aiToolResult(result);
182
- });
183
- }
184
- if (hasMutation) {
185
- server.registerTool(APPLICATION_AI_MCP_CONFIRM_TOOL, {
186
- title: '确认并执行 AI 预览',
187
- description: '仅在用户明确确认预览摘要后调用;平台按 previewId 路由回原应用执行器并重新校验当前用户权限。',
188
- inputSchema: z.object({ previewId: z.string().min(1) }),
189
- annotations: { readOnlyHint: false, destructiveHint: true, idempotentHint: false },
190
- }, async (input) => {
191
- const owner = previewOwners.get(input.previewId);
192
- if (!owner)
193
- throw new Error('AI_PREVIEW_NOT_FOUND');
194
- previewOwners.delete(input.previewId);
195
- return aiToolResult(await owner.confirmPreview(input.previewId));
259
+ const entry = await resolveGenerated(input.appCode, input.resourceCode, operation);
260
+ return aiToolResult(await preview(entry, input.input));
196
261
  });
197
262
  }
263
+ server.registerTool(AGGREGATED_AI_MCP_TOOL_NAMES[7], {
264
+ title: '调用应用业务动作',
265
+ description: '调用显式发布的自定义 AI 动作;写动作只返回预览。',
266
+ inputSchema: z.object({
267
+ appCode: z.string().min(1),
268
+ capabilityCode: z.string().min(1),
269
+ input: recordInput,
270
+ }),
271
+ annotations: { readOnlyHint: false, destructiveHint: false, idempotentHint: false },
272
+ }, async (input) => {
273
+ const applications = await loadApplications();
274
+ const application = applications.find(item => item.catalog.appCode === input.appCode);
275
+ const capability = application?.catalog.capabilities.find(item => item.code === input.capabilityCode);
276
+ if (!application ||
277
+ !capability ||
278
+ capability.kind !== 'customAction') {
279
+ throw new Error('AI_CUSTOM_CAPABILITY_NOT_FOUND');
280
+ }
281
+ const entry = { capability, executor: application.executor };
282
+ const result = capability.risk === 'read'
283
+ ? await application.executor.executeRead(capability, input.input)
284
+ : await preview(entry, input.input);
285
+ return aiToolResult(result);
286
+ });
287
+ server.registerTool(AGGREGATED_AI_MCP_TOOL_NAMES[8], {
288
+ title: '确认并执行 AI 预览',
289
+ description: '仅在用户明确确认预览摘要后调用。',
290
+ inputSchema: z.object({
291
+ appCode: z.string().min(1),
292
+ previewId: z.string().min(1),
293
+ }),
294
+ annotations: { readOnlyHint: false, destructiveHint: true, idempotentHint: false },
295
+ }, async (input) => {
296
+ const applications = await loadApplications();
297
+ const application = applications.find(item => item.catalog.appCode === input.appCode);
298
+ if (!application)
299
+ throw new Error('AI_APPLICATION_NOT_FOUND');
300
+ return aiToolResult(await application.executor.confirmPreview(input.previewId));
301
+ });
198
302
  return server;
199
303
  }
200
304
  function aiToolResult(result) {
@@ -203,53 +307,6 @@ function aiToolResult(result) {
203
307
  structuredContent: (result || {}),
204
308
  };
205
309
  }
206
- async function executeDataApiOperation(dataApi, capability, input, executeCustom) {
207
- const resourceCode = capability.resources[0];
208
- if (!resourceCode)
209
- throw new Error('AI_RESOURCE_REQUIRED');
210
- switch (capability.operation) {
211
- case 'query':
212
- return await dataApi.query(resourceCode, input);
213
- case 'get':
214
- return await dataApi.get(resourceCode, stringInput(input, 'id'));
215
- case 'create':
216
- return await dataApi.create(resourceCode, input);
217
- case 'update':
218
- return await dataApi.update(resourceCode, stringInput(input, 'id'), {
219
- expectedRevision: integerInput(input, 'expectedRevision'),
220
- data: recordInput(input, 'data'),
221
- });
222
- case 'delete':
223
- return await dataApi.delete(resourceCode, stringInput(input, 'id'), integerInput(input, 'expectedRevision'));
224
- case 'custom':
225
- if (!executeCustom)
226
- throw new Error('AI_CUSTOM_CAPABILITY_EXECUTOR_REQUIRED');
227
- return await executeCustom(capability, input);
228
- default:
229
- throw new Error('AI_OPERATION_NOT_SUPPORTED_BY_DATA_API');
230
- }
231
- }
232
- function stringInput(input, key) {
233
- const value = input[key];
234
- if (typeof value !== 'string' || value.length === 0) {
235
- throw new Error(`AI_INPUT_${key.toUpperCase()}_REQUIRED`);
236
- }
237
- return value;
238
- }
239
- function integerInput(input, key) {
240
- const value = input[key];
241
- if (typeof value !== 'number' || !Number.isSafeInteger(value) || value < 1) {
242
- throw new Error(`AI_INPUT_${key.toUpperCase()}_REQUIRED`);
243
- }
244
- return value;
245
- }
246
- function recordInput(input, key) {
247
- const value = input[key];
248
- if (!value || typeof value !== 'object' || Array.isArray(value)) {
249
- throw new Error(`AI_INPUT_${key.toUpperCase()}_REQUIRED`);
250
- }
251
- return value;
252
- }
253
310
  export const MCP_RESOURCE_URIS = [
254
311
  'openxiangda://workspace/context',
255
312
  'openxiangda://workspace/contracts',
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openxiangda-mcp",
3
- "version": "2.0.0-alpha.41",
3
+ "version": "2.0.0-alpha.43",
4
4
  "description": "Structured AI entrypoint for OpenXiangda 2.0 application development.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -17,8 +17,8 @@
17
17
  ],
18
18
  "dependencies": {
19
19
  "@modelcontextprotocol/server": "2.0.0",
20
- "openxiangda-contracts": "2.0.0-alpha.31",
21
- "openxiangda-devkit-core": "2.0.0-alpha.41",
20
+ "openxiangda-contracts": "2.0.0-alpha.33",
21
+ "openxiangda-devkit-core": "2.0.0-alpha.43",
22
22
  "zod": "4.4.3"
23
23
  },
24
24
  "devDependencies": {