@happyvertical/smrt-core 0.40.62 → 0.40.63
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/AGENTS.md +16 -3
- package/README.md +12 -2
- package/agents/generators.md +22 -0
- package/dist/collection.d.ts +12 -1
- package/dist/collection.d.ts.map +1 -1
- package/dist/collection.js +37 -5
- package/dist/collection.js.map +1 -1
- package/dist/decorators/index.d.ts +8 -2
- package/dist/decorators/index.d.ts.map +1 -1
- package/dist/decorators/index.js.map +1 -1
- package/dist/embeddings/types.d.ts +4 -1
- package/dist/embeddings/types.d.ts.map +1 -1
- package/dist/generators/mcp-emit.d.ts +72 -0
- package/dist/generators/mcp-emit.d.ts.map +1 -0
- package/dist/generators/mcp-emit.js +104 -0
- package/dist/generators/mcp-emit.js.map +1 -0
- package/dist/generators/mcp-runtime-template.d.ts.map +1 -1
- package/dist/generators/mcp-runtime-template.js +7 -1
- package/dist/generators/mcp-runtime-template.js.map +1 -1
- package/dist/generators/mcp.d.ts +17 -3
- package/dist/generators/mcp.d.ts.map +1 -1
- package/dist/generators/mcp.js +43 -21
- package/dist/generators/mcp.js.map +1 -1
- package/dist/manifest/generator.d.ts +5 -0
- package/dist/manifest/generator.d.ts.map +1 -1
- package/dist/manifest/generator.js +10 -7
- package/dist/manifest/generator.js.map +1 -1
- package/dist/manifest/static-manifest.js +1 -1
- package/dist/manifest/static-manifest.js.map +1 -1
- package/dist/manifest/store.js +1 -1
- package/dist/manifest.json +1 -1
- package/dist/object.d.ts +11 -1
- package/dist/object.d.ts.map +1 -1
- package/dist/object.js +11 -1
- package/dist/object.js.map +1 -1
- package/dist/smrt-knowledge.json +7 -7
- package/dist/system/types.d.ts +4 -1
- package/dist/system/types.d.ts.map +1 -1
- package/dist/utils/scanner-module.d.ts +7 -0
- package/dist/utils/scanner-module.d.ts.map +1 -1
- package/dist/vite-plugin/index.d.ts +7 -0
- package/dist/vite-plugin/index.d.ts.map +1 -1
- package/dist/vite-plugin/index.js +3 -2
- package/dist/vite-plugin/index.js.map +1 -1
- package/package.json +10 -12
package/dist/generators/mcp.d.ts
CHANGED
|
@@ -297,7 +297,13 @@ export declare class MCPGenerator {
|
|
|
297
297
|
* ```
|
|
298
298
|
*/
|
|
299
299
|
generateServer(options?: {
|
|
300
|
-
/**
|
|
300
|
+
/**
|
|
301
|
+
* Path to output server file (relative or absolute).
|
|
302
|
+
*
|
|
303
|
+
* The extension decides the emitted language: `.ts`/`.mts`/`.cts` keep
|
|
304
|
+
* the generated TypeScript, anything else is transpiled to JavaScript so
|
|
305
|
+
* plain `node <path>` runs it (#2279).
|
|
306
|
+
*/
|
|
301
307
|
outputPath?: string;
|
|
302
308
|
/** Server name for configuration */
|
|
303
309
|
serverName?: string;
|
|
@@ -309,7 +315,7 @@ export declare class MCPGenerator {
|
|
|
309
315
|
generateClaudeConfigFile?: boolean;
|
|
310
316
|
/** Generate README documentation */
|
|
311
317
|
generateReadme?: boolean;
|
|
312
|
-
/** Generate modular directory structure (tools/, handlers/, config
|
|
318
|
+
/** Generate modular directory structure (tools/, handlers/, config) */
|
|
313
319
|
modular?: boolean;
|
|
314
320
|
}): Promise<void>;
|
|
315
321
|
private runtimeCustomActions;
|
|
@@ -328,10 +334,15 @@ export declare class MCPGenerator {
|
|
|
328
334
|
* Creates separate files for tools, handlers, configuration, and main entry point.
|
|
329
335
|
* This makes the generated server easier to customize and extend.
|
|
330
336
|
*
|
|
331
|
-
*
|
|
337
|
+
* The sibling modules use the entry point's own extension and the entry
|
|
338
|
+
* emits matching relative specifiers, so its imports resolve to files that
|
|
339
|
+
* exist and load with the same module semantics (#2279).
|
|
340
|
+
*
|
|
341
|
+
* @param indexPath - Absolute path of the entry point to generate
|
|
332
342
|
* @param serverName - Server name
|
|
333
343
|
* @param serverVersion - Server version
|
|
334
344
|
* @param debug - Enable debug logging
|
|
345
|
+
* @param language - Language the generated files are written in
|
|
335
346
|
*/
|
|
336
347
|
private generateModularServer;
|
|
337
348
|
/**
|
|
@@ -352,6 +363,9 @@ export declare class MCPGenerator {
|
|
|
352
363
|
private generateHandlersFile;
|
|
353
364
|
/**
|
|
354
365
|
* Generate modular index file (main entry point)
|
|
366
|
+
*
|
|
367
|
+
* @param toolListCacheHint - Cache hint emitted for `tools/list` results
|
|
368
|
+
* @param extension - Extension of the sibling modules this entry imports
|
|
355
369
|
*/
|
|
356
370
|
private generateModularIndex;
|
|
357
371
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/generators/mcp.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/generators/mcp.ts"],"names":[],"mappings":"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"}
|
package/dist/generators/mcp.js
CHANGED
|
@@ -2,6 +2,7 @@ import { SMRT_CUSTOM_ACTION_ERROR_METADATA_KEY, buildCustomActionInvocationArgs,
|
|
|
2
2
|
import { ObjectRegistry } from "../registry.js";
|
|
3
3
|
import { SmrtCollection } from "../collection.js";
|
|
4
4
|
import { runWithTenantGate } from "./tenant-gate.js";
|
|
5
|
+
import { generatedSiblingExtension, renderGeneratedSource, resolveGeneratedSourceLanguage } from "./mcp-emit.js";
|
|
5
6
|
import { generateClaudeConfig, generateMCPDocumentation, generateMCPScript, generateRuntimeBootstrap } from "./mcp-runtime-template.js";
|
|
6
7
|
import { buildToolInputSchema, fieldTypeToJsonSchema, finalizeMcpJsonSchema } from "./tool-schema.js";
|
|
7
8
|
import { dirname, resolve } from "node:path";
|
|
@@ -12,6 +13,19 @@ import { mkdir, writeFile } from "node:fs/promises";
|
|
|
12
13
|
*
|
|
13
14
|
* Exposes smrt objects as AI tools for Claude, GPT, and other AI models
|
|
14
15
|
*/
|
|
16
|
+
/**
|
|
17
|
+
* Write one generated module, rendering it for the requested output language.
|
|
18
|
+
*
|
|
19
|
+
* Every generator in this file produces TypeScript source; a JavaScript target
|
|
20
|
+
* is transpiled on the way out so the written file is runnable as-is (#2279).
|
|
21
|
+
*
|
|
22
|
+
* @param targetPath - Absolute path of the file to write
|
|
23
|
+
* @param source - Generated TypeScript source
|
|
24
|
+
* @param language - Language the file must be written in
|
|
25
|
+
*/
|
|
26
|
+
async function writeGeneratedFile(targetPath, source, language) {
|
|
27
|
+
await writeFile(targetPath, await renderGeneratedSource(source, language, targetPath), "utf-8");
|
|
28
|
+
}
|
|
15
29
|
var MCP_STABLE_CATALOG_TTL_MS = 864e5;
|
|
16
30
|
/**
|
|
17
31
|
* Resolve the generated tools/list cache policy at generation time.
|
|
@@ -885,13 +899,14 @@ var MCPGenerator = class {
|
|
|
885
899
|
const { outputPath = ".smrt/mcp-server/index.js", serverName = this.config.name || "smrt-mcp-server", serverVersion = this.config.version || "1.0.0", debug = false, generateClaudeConfigFile = false, generateReadme = false, modular = false } = options;
|
|
886
900
|
const resolvedPath = resolve(process.cwd(), outputPath);
|
|
887
901
|
const outputDir = dirname(resolvedPath);
|
|
902
|
+
const language = resolveGeneratedSourceLanguage(resolvedPath);
|
|
888
903
|
await mkdir(outputDir, { recursive: true });
|
|
889
|
-
if (modular) await this.generateModularServer(
|
|
904
|
+
if (modular) await this.generateModularServer(resolvedPath, serverName, serverVersion, debug, language);
|
|
890
905
|
else {
|
|
891
906
|
const tools = await this.generateTools();
|
|
892
907
|
const tenantScopedObjects = await this.tenantScopedObjectNames(tools);
|
|
893
908
|
const hasTenantScopedTools = tenantScopedObjects.length > 0 || await this.hasTenantScopedTools(tools);
|
|
894
|
-
await
|
|
909
|
+
await writeGeneratedFile(resolvedPath, generateRuntimeBootstrap({
|
|
895
910
|
name: serverName,
|
|
896
911
|
version: serverVersion,
|
|
897
912
|
description: this.config.description,
|
|
@@ -904,7 +919,7 @@ var MCPGenerator = class {
|
|
|
904
919
|
tenantScopedObjects,
|
|
905
920
|
stiTargets: this.runtimeStiTargets(tools),
|
|
906
921
|
toolListCacheHint: resolveMCPToolListCacheHint(this.config.cache?.toolsList, hasTenantScopedTools)
|
|
907
|
-
}),
|
|
922
|
+
}), language);
|
|
908
923
|
console.log(`✅ Generated MCP server: ${resolvedPath}`);
|
|
909
924
|
}
|
|
910
925
|
if (generateClaudeConfigFile) {
|
|
@@ -1006,30 +1021,36 @@ var MCPGenerator = class {
|
|
|
1006
1021
|
* Creates separate files for tools, handlers, configuration, and main entry point.
|
|
1007
1022
|
* This makes the generated server easier to customize and extend.
|
|
1008
1023
|
*
|
|
1009
|
-
*
|
|
1024
|
+
* The sibling modules use the entry point's own extension and the entry
|
|
1025
|
+
* emits matching relative specifiers, so its imports resolve to files that
|
|
1026
|
+
* exist and load with the same module semantics (#2279).
|
|
1027
|
+
*
|
|
1028
|
+
* @param indexPath - Absolute path of the entry point to generate
|
|
1010
1029
|
* @param serverName - Server name
|
|
1011
1030
|
* @param serverVersion - Server version
|
|
1012
1031
|
* @param debug - Enable debug logging
|
|
1032
|
+
* @param language - Language the generated files are written in
|
|
1013
1033
|
*/
|
|
1014
|
-
async generateModularServer(
|
|
1034
|
+
async generateModularServer(indexPath, serverName, serverVersion, debug, language) {
|
|
1035
|
+
const outputDir = dirname(indexPath);
|
|
1036
|
+
const extension = generatedSiblingExtension(indexPath);
|
|
1015
1037
|
const toolsDir = resolve(outputDir, "tools");
|
|
1016
1038
|
const handlersDir = resolve(outputDir, "handlers");
|
|
1017
1039
|
await mkdir(toolsDir, { recursive: true });
|
|
1018
1040
|
await mkdir(handlersDir, { recursive: true });
|
|
1019
|
-
const configPath = resolve(outputDir,
|
|
1020
|
-
await
|
|
1041
|
+
const configPath = resolve(outputDir, `config${extension}`);
|
|
1042
|
+
await writeGeneratedFile(configPath, this.generateConfigFile(serverName, serverVersion, debug), language);
|
|
1021
1043
|
console.log(`✅ Generated config: ${configPath}`);
|
|
1022
1044
|
const generatedTools = await this.generateTools();
|
|
1023
|
-
const toolsPath = resolve(toolsDir,
|
|
1024
|
-
await
|
|
1045
|
+
const toolsPath = resolve(toolsDir, `index${extension}`);
|
|
1046
|
+
await writeGeneratedFile(toolsPath, this.generateToolsFile(generatedTools), language);
|
|
1025
1047
|
console.log(`✅ Generated tools: ${toolsPath}`);
|
|
1026
|
-
const handlersPath = resolve(handlersDir,
|
|
1048
|
+
const handlersPath = resolve(handlersDir, `index${extension}`);
|
|
1027
1049
|
const tenantScopedObjects = await this.tenantScopedObjectNames(generatedTools);
|
|
1028
1050
|
const hasTenantScopedTools = tenantScopedObjects.length > 0 || await this.hasTenantScopedTools(generatedTools);
|
|
1029
|
-
await
|
|
1051
|
+
await writeGeneratedFile(handlersPath, await this.generateHandlersFile(tenantScopedObjects), language);
|
|
1030
1052
|
console.log(`✅ Generated handlers: ${handlersPath}`);
|
|
1031
|
-
|
|
1032
|
-
await writeFile(indexPath, this.generateModularIndex(resolveMCPToolListCacheHint(this.config.cache?.toolsList, hasTenantScopedTools)), "utf-8");
|
|
1053
|
+
await writeGeneratedFile(indexPath, this.generateModularIndex(resolveMCPToolListCacheHint(this.config.cache?.toolsList, hasTenantScopedTools), extension), language);
|
|
1033
1054
|
console.log(`✅ Generated MCP server: ${indexPath}`);
|
|
1034
1055
|
}
|
|
1035
1056
|
/**
|
|
@@ -1352,11 +1373,11 @@ function errorResult(structuredContent: any, text: string, _meta?: Record<string
|
|
|
1352
1373
|
*/
|
|
1353
1374
|
export async function handleToolCall(
|
|
1354
1375
|
name: string,
|
|
1355
|
-
|
|
1376
|
+
toolArguments: any = {},
|
|
1356
1377
|
aiConfig: any = {}
|
|
1357
1378
|
) {
|
|
1358
1379
|
try {
|
|
1359
|
-
const args =
|
|
1380
|
+
const args = toolArguments;
|
|
1360
1381
|
|
|
1361
1382
|
const runToolBody = async () => {
|
|
1362
1383
|
switch (name) {
|
|
@@ -1392,8 +1413,11 @@ ${hasTenantScoped ? `
|
|
|
1392
1413
|
}
|
|
1393
1414
|
/**
|
|
1394
1415
|
* Generate modular index file (main entry point)
|
|
1416
|
+
*
|
|
1417
|
+
* @param toolListCacheHint - Cache hint emitted for `tools/list` results
|
|
1418
|
+
* @param extension - Extension of the sibling modules this entry imports
|
|
1395
1419
|
*/
|
|
1396
|
-
generateModularIndex(toolListCacheHint) {
|
|
1420
|
+
generateModularIndex(toolListCacheHint, extension = ".js") {
|
|
1397
1421
|
return `#!/usr/bin/env node
|
|
1398
1422
|
/**
|
|
1399
1423
|
* Auto-generated MCP Server
|
|
@@ -1409,12 +1433,10 @@ import { resolve } from 'node:path';
|
|
|
1409
1433
|
import { pathToFileURL } from 'node:url';
|
|
1410
1434
|
import { ObjectRegistry } from '@happyvertical/smrt-core';
|
|
1411
1435
|
import { loadConfig } from '@happyvertical/smrt-config';
|
|
1412
|
-
import { getDatabase } from '@happyvertical/sql';
|
|
1413
|
-
import { getAI } from '@happyvertical/ai';
|
|
1414
1436
|
|
|
1415
|
-
import { SERVER_NAME, SERVER_VERSION, DEBUG } from './config
|
|
1416
|
-
import { tools } from './tools/index
|
|
1417
|
-
import { handleToolCall } from './handlers/index
|
|
1437
|
+
import { SERVER_NAME, SERVER_VERSION, DEBUG } from './config${extension}';
|
|
1438
|
+
import { tools } from './tools/index${extension}';
|
|
1439
|
+
import { handleToolCall } from './handlers/index${extension}';
|
|
1418
1440
|
|
|
1419
1441
|
const TOOL_LIST_CACHE_HINT = ${JSON.stringify(toolListCacheHint)};
|
|
1420
1442
|
|