@happyvertical/smrt-core 0.45.1 → 0.45.3
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 +81 -289
- package/agents/build-knowledge.md +92 -0
- package/agents/memory.md +4 -0
- package/agents/object-runtime.md +83 -0
- package/agents/schema-paths.md +186 -476
- package/dist/generators/mcp.d.ts.map +1 -1
- package/dist/generators/mcp.js +25 -7
- package/dist/generators/mcp.js.map +1 -1
- package/dist/index.js +2 -1
- package/dist/knowledge-discovery.d.ts +26 -0
- package/dist/knowledge-discovery.d.ts.map +1 -0
- package/dist/knowledge-discovery.js +54 -0
- package/dist/knowledge-discovery.js.map +1 -0
- package/dist/knowledge.d.ts +1 -0
- package/dist/knowledge.d.ts.map +1 -1
- package/dist/knowledge.js +30 -12
- package/dist/knowledge.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/registry/types.d.ts +11 -6
- package/dist/registry/types.d.ts.map +1 -1
- package/dist/smrt-knowledge.json +47 -35
- package/package.json +4 -4
|
@@ -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
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { buildDefaultListOrderBy, resolveListLimit, resolveListOffset } from "../query-bounds.js";
|
|
2
|
-
import { SMRT_CUSTOM_ACTION_ERROR_METADATA_KEY, buildCustomActionInvocationArgs, customActionParameterInputName, isCrudOperation, isCrudToolAction, normalizeCustomActionFailure, resolveCustomActionMetadata } from "./custom-action.js";
|
|
2
|
+
import { SMRT_CUSTOM_ACTION_ERROR_METADATA_KEY, buildCustomActionInvocationArgs, customActionParameterInputName, isCrudOperation, isCrudToolAction, isFrameworkLifecycleMethod, normalizeCustomActionFailure, resolveCustomActionMetadata } from "./custom-action.js";
|
|
3
3
|
import { isFrameworkBaseClass } from "../registry/framework-base-classes.js";
|
|
4
4
|
import { ObjectRegistry } from "../registry.js";
|
|
5
5
|
import { SmrtCollection } from "../collection.js";
|
|
@@ -62,10 +62,18 @@ var CustomActionFailureError = class extends Error {
|
|
|
62
62
|
* JavaScript method names retain their declared casing. Resolve a tool suffix
|
|
63
63
|
* back to the registry's canonical method name before inspecting metadata or
|
|
64
64
|
* invoking it.
|
|
65
|
+
*
|
|
66
|
+
* Always walks `methods` in iteration order and returns the FIRST
|
|
67
|
+
* case-insensitive match, even when an exact lowercase key exists — never a
|
|
68
|
+
* `methods.get(toolAction)` fast path. `generateTools()`'s per-object dedup
|
|
69
|
+
* (`emittedLower`, #2638) picks the tool's advertised schema/description the
|
|
70
|
+
* same way: first-declared wins when two names collide on one tool id (e.g.
|
|
71
|
+
* `Refresh`/`refresh`). An exact-match shortcut here would let dispatch
|
|
72
|
+
* invoke whichever declared name happens to equal the lowercase tool id,
|
|
73
|
+
* independent of iteration order — silently diverging from the method the
|
|
74
|
+
* catalog just described for that same tool.
|
|
65
75
|
*/
|
|
66
76
|
function resolveCustomActionMethod(methods, toolAction) {
|
|
67
|
-
const direct = methods.get(toolAction);
|
|
68
|
-
if (direct) return [toolAction, direct];
|
|
69
77
|
for (const [methodName, method] of methods) if (methodName.toLowerCase() === toolAction.toLowerCase()) return [methodName, method];
|
|
70
78
|
return [toolAction, void 0];
|
|
71
79
|
}
|
|
@@ -189,6 +197,7 @@ var MCPGenerator = class {
|
|
|
189
197
|
const mcpConfig = ObjectRegistry.getConfig(objectName).mcp;
|
|
190
198
|
const included = typeof mcpConfig === "object" ? mcpConfig?.include : void 0;
|
|
191
199
|
const excluded = typeof mcpConfig === "object" && mcpConfig?.exclude ? mcpConfig.exclude : [];
|
|
200
|
+
const excludedLower = new Set(excluded.map((entry) => entry.toLowerCase()));
|
|
192
201
|
const customMethodsInInclude = included?.filter((item) => {
|
|
193
202
|
if (!isCrudToolAction(item)) return true;
|
|
194
203
|
if (!isCrudOperation(item)) console.warn(`Warning: MCP include entry '${item}' for ${objectName} resolves to the reserved CRUD tool '${lowerName}_${item.toLowerCase()}' and was ignored; use '${item.toLowerCase()}' to expose that operation`);
|
|
@@ -197,8 +206,10 @@ var MCPGenerator = class {
|
|
|
197
206
|
const hasIncludeList = included !== void 0;
|
|
198
207
|
const methods = await ObjectRegistry.getAllMethods(objectName);
|
|
199
208
|
const methodNames = new Set(Array.from(methods.keys()));
|
|
209
|
+
const emittedToolNames = new Set(tools.map((tool) => tool.name));
|
|
200
210
|
if (hasIncludeList) for (const methodName of customMethodsInInclude) {
|
|
201
|
-
if (
|
|
211
|
+
if (excludedLower.has(methodName.toLowerCase())) continue;
|
|
212
|
+
if (isFrameworkLifecycleMethod(methodName)) continue;
|
|
202
213
|
const existsInManifest = methodNames.has(methodName);
|
|
203
214
|
const existsOnClass = this.validateCustomMethod(classInfo.constructor, methodName);
|
|
204
215
|
if (!existsInManifest && !existsOnClass) {
|
|
@@ -207,13 +218,20 @@ var MCPGenerator = class {
|
|
|
207
218
|
}
|
|
208
219
|
const methodDef = methods.get(methodName);
|
|
209
220
|
if (methodDef && !methodDef.isPublic) continue;
|
|
210
|
-
|
|
221
|
+
const tool = this.buildCustomActionTool(objectName, lowerName, methodName, methodDef, this.hasCollectionReceiver(classInfo));
|
|
222
|
+
if (emittedToolNames.has(tool.name)) continue;
|
|
223
|
+
emittedToolNames.add(tool.name);
|
|
224
|
+
tools.push(tool);
|
|
211
225
|
}
|
|
212
226
|
else for (const [methodName, methodDef] of methods) {
|
|
213
227
|
if (isCrudToolAction(methodName)) continue;
|
|
228
|
+
if (isFrameworkLifecycleMethod(methodName)) continue;
|
|
214
229
|
if (!methodDef.isPublic) continue;
|
|
215
|
-
if (
|
|
216
|
-
|
|
230
|
+
if (excludedLower.has(methodName.toLowerCase())) continue;
|
|
231
|
+
const tool = this.buildCustomActionTool(objectName, lowerName, methodName, methodDef, this.hasCollectionReceiver(classInfo));
|
|
232
|
+
if (emittedToolNames.has(tool.name)) continue;
|
|
233
|
+
emittedToolNames.add(tool.name);
|
|
234
|
+
tools.push(tool);
|
|
217
235
|
}
|
|
218
236
|
}
|
|
219
237
|
return tools;
|