@happyvertical/smrt-core 0.55.24 → 0.56.1

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 (119) hide show
  1. package/agents/collection-reads.md +6 -3
  2. package/agents/generators.md +53 -0
  3. package/agents/object-runtime.md +3 -0
  4. package/agents/recipes.md +7 -4
  5. package/dist/browser.d.ts +2 -0
  6. package/dist/browser.d.ts.map +1 -1
  7. package/dist/browser.js +3 -1
  8. package/dist/collection.d.ts +4 -0
  9. package/dist/collection.d.ts.map +1 -1
  10. package/dist/collection.js +19 -9
  11. package/dist/collection.js.map +1 -1
  12. package/dist/consumer-plugin/hosted-sti-collections.d.ts.map +1 -1
  13. package/dist/consumer-plugin/hosted-sti-collections.js +4 -2
  14. package/dist/consumer-plugin/hosted-sti-collections.js.map +1 -1
  15. package/dist/cookbook/engine/commands.d.ts.map +1 -1
  16. package/dist/cookbook/engine/commands.js +12 -0
  17. package/dist/cookbook/engine/commands.js.map +1 -1
  18. package/dist/cookbook/engine/defaults.d.ts.map +1 -1
  19. package/dist/cookbook/engine/defaults.js +8 -0
  20. package/dist/cookbook/engine/defaults.js.map +1 -1
  21. package/dist/cookbook/engine/document.d.ts +4 -0
  22. package/dist/cookbook/engine/document.d.ts.map +1 -1
  23. package/dist/cookbook/engine/document.js +11 -3
  24. package/dist/cookbook/engine/document.js.map +1 -1
  25. package/dist/cookbook/engine/engine.d.ts.map +1 -1
  26. package/dist/cookbook/engine/engine.js +3 -1
  27. package/dist/cookbook/engine/engine.js.map +1 -1
  28. package/dist/cookbook/engine/schemas.d.ts.map +1 -1
  29. package/dist/cookbook/engine/schemas.js +8 -0
  30. package/dist/cookbook/engine/schemas.js.map +1 -1
  31. package/dist/cookbook/engine/types.d.ts +5 -1
  32. package/dist/cookbook/engine/types.d.ts.map +1 -1
  33. package/dist/cookbook/engine/types.js.map +1 -1
  34. package/dist/decorators/index.d.ts +2 -0
  35. package/dist/decorators/index.d.ts.map +1 -1
  36. package/dist/decorators/index.js.map +1 -1
  37. package/dist/generators/index.d.ts +1 -0
  38. package/dist/generators/index.d.ts.map +1 -1
  39. package/dist/generators/index.js +2 -1
  40. package/dist/generators/mcp-runtime-template.d.ts +3 -0
  41. package/dist/generators/mcp-runtime-template.d.ts.map +1 -1
  42. package/dist/generators/mcp-runtime-template.js +30 -4
  43. package/dist/generators/mcp-runtime-template.js.map +1 -1
  44. package/dist/generators/mcp.d.ts +5 -0
  45. package/dist/generators/mcp.d.ts.map +1 -1
  46. package/dist/generators/mcp.js +82 -9
  47. package/dist/generators/mcp.js.map +1 -1
  48. package/dist/generators/preflight-route.d.ts.map +1 -1
  49. package/dist/generators/preflight-route.js +3 -1
  50. package/dist/generators/preflight-route.js.map +1 -1
  51. package/dist/generators/rest.d.ts.map +1 -1
  52. package/dist/generators/rest.js +5 -0
  53. package/dist/generators/rest.js.map +1 -1
  54. package/dist/generators/swagger.d.ts.map +1 -1
  55. package/dist/generators/swagger.js +3 -1
  56. package/dist/generators/swagger.js.map +1 -1
  57. package/dist/generators.js +2 -1
  58. package/dist/index.d.ts +1 -0
  59. package/dist/index.d.ts.map +1 -1
  60. package/dist/index.js +3 -1
  61. package/dist/manifest/browser-capability.generated.js +34 -5
  62. package/dist/manifest/browser-capability.generated.js.map +1 -1
  63. package/dist/manifest/index.js +1 -1
  64. package/dist/manifest/static-manifest.d.ts.map +1 -1
  65. package/dist/manifest/static-manifest.js +9 -1
  66. package/dist/manifest/static-manifest.js.map +1 -1
  67. package/dist/manifest/store.js +1 -1
  68. package/dist/manifest/store.js.map +1 -1
  69. package/dist/manifest.json +9 -1
  70. package/dist/mcp-serializer.d.ts +38 -0
  71. package/dist/mcp-serializer.d.ts.map +1 -0
  72. package/dist/mcp-serializer.js +60 -0
  73. package/dist/mcp-serializer.js.map +1 -0
  74. package/dist/node_modules/.pnpm/import-meta-resolve@4.2.0/node_modules/import-meta-resolve/index.js +34 -0
  75. package/dist/node_modules/.pnpm/import-meta-resolve@4.2.0/node_modules/import-meta-resolve/index.js.map +1 -0
  76. package/dist/node_modules/.pnpm/import-meta-resolve@4.2.0/node_modules/import-meta-resolve/lib/errors.js +343 -0
  77. package/dist/node_modules/.pnpm/import-meta-resolve@4.2.0/node_modules/import-meta-resolve/lib/errors.js.map +1 -0
  78. package/dist/node_modules/.pnpm/import-meta-resolve@4.2.0/node_modules/import-meta-resolve/lib/get-format.js +109 -0
  79. package/dist/node_modules/.pnpm/import-meta-resolve@4.2.0/node_modules/import-meta-resolve/lib/get-format.js.map +1 -0
  80. package/dist/node_modules/.pnpm/import-meta-resolve@4.2.0/node_modules/import-meta-resolve/lib/package-json-reader.js +102 -0
  81. package/dist/node_modules/.pnpm/import-meta-resolve@4.2.0/node_modules/import-meta-resolve/lib/package-json-reader.js.map +1 -0
  82. package/dist/node_modules/.pnpm/import-meta-resolve@4.2.0/node_modules/import-meta-resolve/lib/resolve.js +673 -0
  83. package/dist/node_modules/.pnpm/import-meta-resolve@4.2.0/node_modules/import-meta-resolve/lib/resolve.js.map +1 -0
  84. package/dist/node_modules/.pnpm/import-meta-resolve@4.2.0/node_modules/import-meta-resolve/lib/utils.js +32 -0
  85. package/dist/node_modules/.pnpm/import-meta-resolve@4.2.0/node_modules/import-meta-resolve/lib/utils.js.map +1 -0
  86. package/dist/object.d.ts +2 -0
  87. package/dist/object.d.ts.map +1 -1
  88. package/dist/object.js +51 -0
  89. package/dist/object.js.map +1 -1
  90. package/dist/operation-permission.d.ts +10 -0
  91. package/dist/operation-permission.d.ts.map +1 -0
  92. package/dist/operation-permission.js +36 -0
  93. package/dist/operation-permission.js.map +1 -0
  94. package/dist/registry/class-registration.d.ts.map +1 -1
  95. package/dist/registry/class-registration.js +12 -0
  96. package/dist/registry/class-registration.js.map +1 -1
  97. package/dist/registry/types.d.ts +18 -3
  98. package/dist/registry/types.d.ts.map +1 -1
  99. package/dist/scanner/manifest-generator.d.ts.map +1 -1
  100. package/dist/scanner/manifest-generator.js +47 -0
  101. package/dist/scanner/manifest-generator.js.map +1 -1
  102. package/dist/scanner/types.d.ts +5 -0
  103. package/dist/scanner/types.d.ts.map +1 -1
  104. package/dist/scanner/types.js.map +1 -1
  105. package/dist/smrt-knowledge.json +18 -11
  106. package/dist/utils/import-project-vite.js +1 -1
  107. package/dist/utils/import-workspace-module.js +1 -1
  108. package/dist/vite-plugin/api-client-entries.d.ts.map +1 -1
  109. package/dist/vite-plugin/api-client-entries.js +1 -0
  110. package/dist/vite-plugin/api-client-entries.js.map +1 -1
  111. package/dist/vite-plugin/dev-plane-route.js +1 -1
  112. package/dist/vite-plugin/import-build-aware.js +1 -1
  113. package/dist/vite-plugin/index.js +1 -1
  114. package/dist/vite-plugin/resources-route.js +1 -1
  115. package/dist/vite-plugin/sveltekit-generator.d.ts +0 -4
  116. package/dist/vite-plugin/sveltekit-generator.d.ts.map +1 -1
  117. package/dist/vite-plugin/sveltekit-generator.js +37 -25
  118. package/dist/vite-plugin/sveltekit-generator.js.map +1 -1
  119. package/package.json +16 -10
@@ -5,6 +5,7 @@
5
5
  */
6
6
  import { type CustomActionMetadata, type ToolEffect } from './custom-action.js';
7
7
  import { type ToolJsonSchema } from './tool-schema.js';
8
+ export { type McpGetSerializer, type McpGetSerializerReference, resolveMcpGetSerializer, } from '../mcp-serializer.js';
8
9
  export type { ToolEffect } from './custom-action.js';
9
10
  export { assertMcpJsonSchemaSafety, type ToolJsonSchema, } from './tool-schema.js';
10
11
  /**
@@ -206,6 +207,7 @@ export declare class MCPGenerator {
206
207
  private config;
207
208
  private context;
208
209
  private collections;
210
+ private getSerializers;
209
211
  constructor(config?: MCPConfig, context?: MCPContext);
210
212
  /**
211
213
  * Get server name
@@ -341,6 +343,9 @@ export declare class MCPGenerator {
341
343
  * invoked inside the tenant gate established by {@link executeAction}.
342
344
  */
343
345
  private runAction;
346
+ private getSerializerReference;
347
+ private serializeGetResult;
348
+ private runtimeGetSerializers;
344
349
  /**
345
350
  * Execute a custom action on a collection/object
346
351
  */
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/generators/mcp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/generators/mcp.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ import { SmrtCollection } from "../collection.js";
5
5
  import { readFieldEnum } from "../registry/manifest-field-merge.js";
6
6
  import { ObjectRegistry } from "../registry.js";
7
7
  import { SMRT_CUSTOM_ACTION_ERROR_METADATA_KEY, buildCustomActionInvocationArgs, customActionParameterInputName, isCrudOperation, isCrudToolAction, isFrameworkLifecycleMethod, normalizeCustomActionFailure, resolveCustomActionMetadata } from "./custom-action.js";
8
+ import { resolveMcpGetSerializer } from "../mcp-serializer.js";
8
9
  import { resolveDisplayLabelField } from "../ui-metadata.js";
9
10
  import { generatedSiblingExtension, renderGeneratedSource, resolveGeneratedSourceLanguage } from "./mcp-emit.js";
10
11
  import { generateClaudeConfig, generateMCPDocumentation, generateMCPScript, generateRuntimeBootstrap } from "./mcp-runtime-template.js";
@@ -32,6 +33,15 @@ import { dirname, resolve } from "node:path";
32
33
  async function writeGeneratedFile(targetPath, source, language) {
33
34
  await writeFile(targetPath, await renderGeneratedSource(source, language, targetPath), "utf-8");
34
35
  }
36
+ function normalizePublicToolError(error) {
37
+ if (!error || typeof error !== "object") return void 0;
38
+ const candidate = error;
39
+ if (typeof candidate.code !== "string" || !/^[A-Za-z][A-Za-z0-9_.:-]{0,127}$/.test(candidate.code) || typeof candidate.publicMessage !== "string" || candidate.publicMessage.length === 0) return void 0;
40
+ return {
41
+ code: candidate.code,
42
+ message: candidate.publicMessage
43
+ };
44
+ }
35
45
  var MCP_STABLE_CATALOG_TTL_MS = 864e5;
36
46
  /**
37
47
  * Resolve the generated tools/list cache policy at generation time.
@@ -145,6 +155,7 @@ var MCPGenerator = class {
145
155
  config;
146
156
  context;
147
157
  collections = /* @__PURE__ */ new Map();
158
+ getSerializers = /* @__PURE__ */ new Map();
148
159
  constructor(config = {}, context = {}) {
149
160
  this.config = {
150
161
  name: "smrt-mcp-server",
@@ -184,11 +195,13 @@ var MCPGenerator = class {
184
195
  generated.add(classInfo);
185
196
  if (scope && !scope.has(classInfo)) continue;
186
197
  if (isFrameworkBaseClass(simpleName, classInfo.packageName)) continue;
187
- const mcpConfig = ObjectRegistry.getConfig(key).mcp;
198
+ const config = ObjectRegistry.getConfig(key);
199
+ const mcpConfig = config.mcp;
188
200
  if (mcpConfig === false) continue;
189
201
  const excluded = typeof mcpConfig === "object" && mcpConfig?.exclude ? mcpConfig.exclude : [];
190
202
  const included = typeof mcpConfig === "object" ? mcpConfig?.include : void 0;
191
203
  const shouldInclude = (endpoint) => {
204
+ if (config.abstract && endpoint !== "list" && endpoint !== "get") return false;
192
205
  if (included && !included.includes(endpoint)) return false;
193
206
  if (excluded.includes(endpoint)) return false;
194
207
  return true;
@@ -282,7 +295,7 @@ var MCPGenerator = class {
282
295
  outputSchema: this.buildOutputSchema(objectName, "delete", fields),
283
296
  annotations: mcpToolAnnotations("delete")
284
297
  });
285
- if (classInfo) {
298
+ if (classInfo && !ObjectRegistry.getConfig(objectName).abstract) {
286
299
  const mcpConfig = ObjectRegistry.getConfig(objectName).mcp;
287
300
  const included = typeof mcpConfig === "object" ? mcpConfig?.include : void 0;
288
301
  const excluded = typeof mcpConfig === "object" && mcpConfig?.exclude ? mcpConfig.exclude : [];
@@ -593,14 +606,15 @@ var MCPGenerator = class {
593
606
  _meta: { [SMRT_CUSTOM_ACTION_ERROR_METADATA_KEY]: error.failure }
594
607
  };
595
608
  }
596
- const message = error instanceof Error ? error.message : "Unknown error";
609
+ const publicError = normalizePublicToolError(error);
610
+ const message = publicError?.message ?? (error instanceof Error ? error.message : "Unknown error");
597
611
  return {
598
612
  content: [{
599
613
  type: "text",
600
614
  text: `Error: ${message}`
601
615
  }],
602
616
  isError: true,
603
- structuredContent: { error: { message } }
617
+ structuredContent: { error: publicError ?? { message } }
604
618
  };
605
619
  }
606
620
  }
@@ -876,7 +890,7 @@ var MCPGenerator = class {
876
890
  const filter = args.id ? args.id : args.slug;
877
891
  const item = await collection.get(filter);
878
892
  if (!item) throw new Error("Object not found");
879
- return this.toPublicData(item);
893
+ return this.serializeGetResult(objectName, item);
880
894
  }
881
895
  case "create": {
882
896
  const createData = this.applyWritablePolicy(objectName, args);
@@ -914,6 +928,37 @@ var MCPGenerator = class {
914
928
  }
915
929
  }
916
930
  }
931
+ getSerializerReference(objectName) {
932
+ if (!objectName) return void 0;
933
+ const mcp = ObjectRegistry.getConfig(objectName)?.mcp;
934
+ return mcp && typeof mcp === "object" ? mcp.serializers?.get : void 0;
935
+ }
936
+ async serializeGetResult(objectName, item) {
937
+ const reference = this.getSerializerReference(objectName);
938
+ if (!reference) return this.toPublicData(item);
939
+ const cacheKey = `${objectName ?? ""}\u0000${reference.importPath}\u0000${reference.exportName}`;
940
+ let serializerPromise = this.getSerializers.get(cacheKey);
941
+ if (!serializerPromise) {
942
+ serializerPromise = resolveMcpGetSerializer(reference, {
943
+ parentUrl: import.meta.url,
944
+ ownerRegistryKey: objectName
945
+ });
946
+ this.getSerializers.set(cacheKey, serializerPromise);
947
+ }
948
+ const serializer = await serializerPromise;
949
+ const options = this.getPublicJsonOptions();
950
+ return this.toPublicData(await serializer(item, options), /* @__PURE__ */ new WeakSet(), options);
951
+ }
952
+ runtimeGetSerializers(tools) {
953
+ const serializers = {};
954
+ for (const tool of tools) {
955
+ if (this.toolTarget(tool).action !== "get") continue;
956
+ const owner = this.toolClass(tool);
957
+ const reference = this.getSerializerReference(owner?.key);
958
+ if (reference) serializers[tool.name] = reference;
959
+ }
960
+ return serializers;
961
+ }
917
962
  /**
918
963
  * Execute a custom action on a collection/object
919
964
  */
@@ -1014,6 +1059,7 @@ var MCPGenerator = class {
1014
1059
  debug,
1015
1060
  tools,
1016
1061
  toolTargets: this.runtimeToolTargets(tools),
1062
+ getSerializers: this.runtimeGetSerializers(tools),
1017
1063
  customActions: await this.runtimeCustomActions(tools),
1018
1064
  taskActions: await this.runtimeTaskActions(tools),
1019
1065
  tenantScopedObjects,
@@ -1259,7 +1305,7 @@ ${indent} if (!item) {
1259
1305
  ${indent} throw new Error('Object not found');
1260
1306
  ${indent} }
1261
1307
 
1262
- ${indent} return successResult(item.toPublicJSON(PUBLIC_JSON_OPTIONS));
1308
+ ${indent} return successResult(await serializeGetResult(${JSON.stringify(tool.name)}, item));
1263
1309
  ${indent}}`;
1264
1310
  case "create": return `${indent}case '${tool.name}': {
1265
1311
  ${indent} const { collection, objectName: targetObjectName } = await resolveCreateTarget(${JSON.stringify(objectName)}, ${JSON.stringify(lookup)}, args, aiConfig);
@@ -1372,6 +1418,7 @@ ${indent}}`;
1372
1418
  const switchCases = await this.generateToolSwitchCases(" ", tools);
1373
1419
  const stiTargets = this.runtimeStiTargets(tools);
1374
1420
  const toolTargets = this.runtimeToolTargets(tools);
1421
+ const getSerializers = this.runtimeGetSerializers(tools);
1375
1422
  const tenantScopedSet = Array.from(new Set(tenantScopedObjects.map((n) => n.toLowerCase())));
1376
1423
  const hasTenantScoped = tenantScopedSet.length > 0;
1377
1424
  return `/**
@@ -1406,8 +1453,22 @@ const PUBLIC_JSON_OPTIONS = {
1406
1453
  .map((permission) => permission.trim())
1407
1454
  .filter(Boolean),
1408
1455
  };
1456
+ const GET_SERIALIZERS: Record<string, { importPath: string; exportName: string }> = ${JSON.stringify(getSerializers)};
1409
1457
  const STI_TARGETS: Record<string, Record<string, string>> = ${JSON.stringify(stiTargets)};
1410
1458
 
1459
+ async function serializeGetResult(toolName: string, item: any): Promise<any> {
1460
+ const reference = GET_SERIALIZERS[toolName];
1461
+ if (!reference) return item.toPublicJSON(PUBLIC_JSON_OPTIONS);
1462
+ const serializerModule = await import(reference.importPath);
1463
+ const serializer = serializerModule[reference.exportName];
1464
+ if (typeof serializer !== 'function') {
1465
+ throw new Error(
1466
+ \`MCP get serializer '\${reference.exportName}' was not exported by '\${reference.importPath}'\`,
1467
+ );
1468
+ }
1469
+ return toPublicResult(await serializer(item, PUBLIC_JSON_OPTIONS));
1470
+ }
1471
+
1411
1472
  /**
1412
1473
  * Mass-assignment guard (#1540): strip framework/server-managed and
1413
1474
  * \`@field({ readonly: true })\` fields from create/update bodies, intersecting
@@ -1498,6 +1559,17 @@ function errorResult(structuredContent: any, text: string, _meta?: Record<string
1498
1559
  };
1499
1560
  }
1500
1561
 
1562
+ function normalizePublicToolError(error: any): { code: string; message: string } | undefined {
1563
+ if (!error || typeof error !== 'object') return undefined;
1564
+ if (
1565
+ typeof error.code !== 'string' ||
1566
+ !/^[A-Za-z][A-Za-z0-9_.:-]{0,127}$/.test(error.code) ||
1567
+ typeof error.publicMessage !== 'string' ||
1568
+ error.publicMessage.length === 0
1569
+ ) return undefined;
1570
+ return { code: error.code, message: error.publicMessage };
1571
+ }
1572
+
1501
1573
  /**
1502
1574
  * Handle tool call request
1503
1575
  */
@@ -1531,10 +1603,11 @@ ${hasTenantScoped ? `
1531
1603
 
1532
1604
  return result;
1533
1605
  } catch (error) {
1534
- const errorMessage = error instanceof Error ? error.message : 'Unknown error';
1606
+ const publicError = normalizePublicToolError(error);
1607
+ const errorMessage = publicError?.message ?? (error instanceof Error ? error.message : 'Unknown error');
1535
1608
 
1536
1609
  return errorResult(
1537
- { error: { message: errorMessage } },
1610
+ { error: publicError ?? { message: errorMessage } },
1538
1611
  \`Error executing tool \${name}: \${errorMessage}\`,
1539
1612
  );
1540
1613
  }
@@ -1664,6 +1737,6 @@ if (process.argv[1] && import.meta.url === pathToFileURL(process.argv[1]).href)
1664
1737
  }
1665
1738
  };
1666
1739
  //#endregion
1667
- export { MCPGenerator, MCP_STABLE_CATALOG_TTL_MS, assertMcpJsonSchemaSafety, mcpToolAnnotations, mcpToolAnnotationsFor, resolveMCPToolListCacheHint, sortMCPTools };
1740
+ export { MCPGenerator, MCP_STABLE_CATALOG_TTL_MS, assertMcpJsonSchemaSafety, mcpToolAnnotations, mcpToolAnnotationsFor, resolveMCPToolListCacheHint, resolveMcpGetSerializer, sortMCPTools };
1668
1741
 
1669
1742
  //# sourceMappingURL=mcp.js.map