@enactprotocol/shared 2.1.23 → 2.1.28
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/execution/index.d.ts +1 -1
- package/dist/execution/index.d.ts.map +1 -1
- package/dist/execution/index.js.map +1 -1
- package/dist/execution/types.d.ts +15 -0
- package/dist/execution/types.d.ts.map +1 -1
- package/dist/execution/types.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/manifest/index.d.ts +2 -2
- package/dist/manifest/index.d.ts.map +1 -1
- package/dist/manifest/index.js +1 -1
- package/dist/manifest/index.js.map +1 -1
- package/dist/manifest/loader.d.ts +14 -4
- package/dist/manifest/loader.d.ts.map +1 -1
- package/dist/manifest/loader.js +12 -8
- package/dist/manifest/loader.js.map +1 -1
- package/dist/manifest/validator.d.ts +21 -4
- package/dist/manifest/validator.d.ts.map +1 -1
- package/dist/manifest/validator.js +72 -47
- package/dist/manifest/validator.js.map +1 -1
- package/dist/resolver.d.ts +29 -0
- package/dist/resolver.d.ts.map +1 -1
- package/dist/resolver.js +115 -17
- package/dist/resolver.js.map +1 -1
- package/package.json +2 -2
- package/src/execution/index.ts +1 -0
- package/src/execution/types.ts +16 -0
- package/src/index.ts +27 -0
- package/src/manifest/index.ts +3 -0
- package/src/manifest/loader.ts +29 -9
- package/src/manifest/validator.ts +102 -57
- package/src/mcp-registry.ts +337 -0
- package/src/resolver.ts +153 -18
- package/tests/manifest/validator.test.ts +77 -0
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/manifest/validator.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/manifest/validator.ts"],"names":[],"mappings":"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"}
|
package/dist/resolver.d.ts
CHANGED
|
@@ -16,6 +16,21 @@ export declare class ToolResolveError extends Error {
|
|
|
16
16
|
readonly searchedLocations?: string[] | undefined;
|
|
17
17
|
constructor(message: string, toolPath: string, searchedLocations?: string[] | undefined);
|
|
18
18
|
}
|
|
19
|
+
/**
|
|
20
|
+
* Result of trying to resolve a tool with error details
|
|
21
|
+
*/
|
|
22
|
+
export interface TryResolveResult {
|
|
23
|
+
/** The resolved tool, or null if not found/invalid */
|
|
24
|
+
resolution: ToolResolution | null;
|
|
25
|
+
/** Error that occurred during resolution, if any */
|
|
26
|
+
error?: Error;
|
|
27
|
+
/** Locations that were searched */
|
|
28
|
+
searchedLocations: string[];
|
|
29
|
+
/** Whether a manifest was found but had errors */
|
|
30
|
+
manifestFound: boolean;
|
|
31
|
+
/** Path where manifest was found (if any) */
|
|
32
|
+
manifestPath?: string;
|
|
33
|
+
}
|
|
19
34
|
/**
|
|
20
35
|
* Options for tool resolution
|
|
21
36
|
*/
|
|
@@ -47,6 +62,9 @@ export declare function getToolPath(toolsDir: string, toolName: string): string;
|
|
|
47
62
|
/**
|
|
48
63
|
* Resolve a tool from a file path
|
|
49
64
|
*
|
|
65
|
+
* Local/file tools are allowed to have simple names (without hierarchy)
|
|
66
|
+
* since they don't need to be published.
|
|
67
|
+
*
|
|
50
68
|
* @param filePath - Path to manifest file or directory containing manifest
|
|
51
69
|
* @returns ToolResolution
|
|
52
70
|
* @throws ToolResolveError if not found
|
|
@@ -69,6 +87,17 @@ export declare function resolveTool(toolName: string, options?: ResolveOptions):
|
|
|
69
87
|
* @returns ToolResolution or null
|
|
70
88
|
*/
|
|
71
89
|
export declare function tryResolveTool(toolNameOrPath: string, options?: ResolveOptions): ToolResolution | null;
|
|
90
|
+
/**
|
|
91
|
+
* Try to resolve a tool with detailed error information
|
|
92
|
+
*
|
|
93
|
+
* Unlike tryResolveTool, this function returns information about why
|
|
94
|
+
* resolution failed, allowing callers to provide better error messages.
|
|
95
|
+
*
|
|
96
|
+
* @param toolNameOrPath - Tool name or path
|
|
97
|
+
* @param options - Resolution options
|
|
98
|
+
* @returns TryResolveResult with resolution or error details
|
|
99
|
+
*/
|
|
100
|
+
export declare function tryResolveToolDetailed(toolNameOrPath: string, options?: ResolveOptions): TryResolveResult;
|
|
72
101
|
/**
|
|
73
102
|
* Resolve a tool, automatically detecting if input is a path or name
|
|
74
103
|
*
|
package/dist/resolver.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../src/resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../src/resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAYH,OAAO,KAAK,EAAgB,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAErE;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,KAAK;aAGvB,QAAQ,EAAE,MAAM;aAChB,iBAAiB,CAAC,EAAE,MAAM,EAAE;gBAF5C,OAAO,EAAE,MAAM,EACC,QAAQ,EAAE,MAAM,EAChB,iBAAiB,CAAC,EAAE,MAAM,EAAE,YAAA;CAK/C;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,sDAAsD;IACtD,UAAU,EAAE,cAAc,GAAG,IAAI,CAAC;IAClC,oDAAoD;IACpD,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,mCAAmC;IACnC,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,kDAAkD;IAClD,aAAa,EAAE,OAAO,CAAC;IACvB,6CAA6C;IAC7C,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4CAA4C;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+BAA+B;IAC/B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,wBAAwB;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGnD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEtE;AAuCD;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,CAiCpE;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,cAAc,CAqE1F;AA6BD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,cAAc,EAAE,MAAM,EACtB,OAAO,GAAE,cAAmB,GAC3B,cAAc,GAAG,IAAI,CAGvB;AAED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CACpC,cAAc,EAAE,MAAM,EACtB,OAAO,GAAE,cAAmB,GAC3B,gBAAgB,CAqGlB;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,cAAc,EAAE,MAAM,EACtB,OAAO,GAAE,cAAmB,GAC3B,cAAc,CAsBhB;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,MAAM,EAAE,CA2B3F"}
|
package/dist/resolver.js
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
*/
|
|
10
10
|
import { existsSync, readdirSync } from "node:fs";
|
|
11
11
|
import { dirname, isAbsolute, join, resolve } from "node:path";
|
|
12
|
-
import { findManifestFile, loadManifest } from "./manifest/loader";
|
|
12
|
+
import { ManifestLoadError, findManifestFile, loadManifest, } from "./manifest/loader";
|
|
13
13
|
import { getCacheDir, getProjectEnactDir } from "./paths";
|
|
14
14
|
import { getInstalledVersion, getToolCachePath } from "./registry";
|
|
15
15
|
/**
|
|
@@ -50,9 +50,10 @@ export function getToolPath(toolsDir, toolName) {
|
|
|
50
50
|
*
|
|
51
51
|
* @param dir - Directory to check
|
|
52
52
|
* @param location - The location type for metadata
|
|
53
|
+
* @param options - Options for loading the manifest
|
|
53
54
|
* @returns ToolResolution or null if not found/invalid
|
|
54
55
|
*/
|
|
55
|
-
function tryLoadFromDir(dir, location) {
|
|
56
|
+
function tryLoadFromDir(dir, location, options = {}) {
|
|
56
57
|
if (!existsSync(dir)) {
|
|
57
58
|
return null;
|
|
58
59
|
}
|
|
@@ -61,7 +62,7 @@ function tryLoadFromDir(dir, location) {
|
|
|
61
62
|
return null;
|
|
62
63
|
}
|
|
63
64
|
try {
|
|
64
|
-
const loaded = loadManifest(manifestPath);
|
|
65
|
+
const loaded = loadManifest(manifestPath, options);
|
|
65
66
|
return {
|
|
66
67
|
manifest: loaded.manifest,
|
|
67
68
|
sourceDir: dir,
|
|
@@ -78,12 +79,17 @@ function tryLoadFromDir(dir, location) {
|
|
|
78
79
|
/**
|
|
79
80
|
* Resolve a tool from a file path
|
|
80
81
|
*
|
|
82
|
+
* Local/file tools are allowed to have simple names (without hierarchy)
|
|
83
|
+
* since they don't need to be published.
|
|
84
|
+
*
|
|
81
85
|
* @param filePath - Path to manifest file or directory containing manifest
|
|
82
86
|
* @returns ToolResolution
|
|
83
87
|
* @throws ToolResolveError if not found
|
|
84
88
|
*/
|
|
85
89
|
export function resolveToolFromPath(filePath) {
|
|
86
90
|
const absolutePath = isAbsolute(filePath) ? filePath : resolve(filePath);
|
|
91
|
+
// Local tools can have simple names (no hierarchy required)
|
|
92
|
+
const localOptions = { allowSimpleNames: true };
|
|
87
93
|
// Check if it's a manifest file directly
|
|
88
94
|
if (absolutePath.endsWith(".yaml") ||
|
|
89
95
|
absolutePath.endsWith(".yml") ||
|
|
@@ -91,7 +97,7 @@ export function resolveToolFromPath(filePath) {
|
|
|
91
97
|
if (!existsSync(absolutePath)) {
|
|
92
98
|
throw new ToolResolveError(`Manifest file not found: ${absolutePath}`, filePath);
|
|
93
99
|
}
|
|
94
|
-
const loaded = loadManifest(absolutePath);
|
|
100
|
+
const loaded = loadManifest(absolutePath, localOptions);
|
|
95
101
|
return {
|
|
96
102
|
manifest: loaded.manifest,
|
|
97
103
|
sourceDir: dirname(absolutePath),
|
|
@@ -101,7 +107,7 @@ export function resolveToolFromPath(filePath) {
|
|
|
101
107
|
};
|
|
102
108
|
}
|
|
103
109
|
// Treat as directory
|
|
104
|
-
const result = tryLoadFromDir(absolutePath, "file");
|
|
110
|
+
const result = tryLoadFromDir(absolutePath, "file", localOptions);
|
|
105
111
|
if (result) {
|
|
106
112
|
return result;
|
|
107
113
|
}
|
|
@@ -207,19 +213,110 @@ function findLatestCachedVersion(toolCacheBase) {
|
|
|
207
213
|
* @returns ToolResolution or null
|
|
208
214
|
*/
|
|
209
215
|
export function tryResolveTool(toolNameOrPath, options = {}) {
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
216
|
+
const result = tryResolveToolDetailed(toolNameOrPath, options);
|
|
217
|
+
return result.resolution;
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Try to resolve a tool with detailed error information
|
|
221
|
+
*
|
|
222
|
+
* Unlike tryResolveTool, this function returns information about why
|
|
223
|
+
* resolution failed, allowing callers to provide better error messages.
|
|
224
|
+
*
|
|
225
|
+
* @param toolNameOrPath - Tool name or path
|
|
226
|
+
* @param options - Resolution options
|
|
227
|
+
* @returns TryResolveResult with resolution or error details
|
|
228
|
+
*/
|
|
229
|
+
export function tryResolveToolDetailed(toolNameOrPath, options = {}) {
|
|
230
|
+
const searchedLocations = [];
|
|
231
|
+
// Check if it looks like a path
|
|
232
|
+
const isPath = toolNameOrPath.startsWith("/") ||
|
|
233
|
+
toolNameOrPath.startsWith("./") ||
|
|
234
|
+
toolNameOrPath.startsWith("../") ||
|
|
235
|
+
toolNameOrPath.includes("\\") ||
|
|
236
|
+
existsSync(toolNameOrPath);
|
|
237
|
+
if (isPath) {
|
|
238
|
+
// Resolve from path
|
|
239
|
+
const absolutePath = isAbsolute(toolNameOrPath) ? toolNameOrPath : resolve(toolNameOrPath);
|
|
240
|
+
searchedLocations.push(absolutePath);
|
|
241
|
+
// Check if path exists
|
|
242
|
+
if (!existsSync(absolutePath)) {
|
|
243
|
+
return {
|
|
244
|
+
resolution: null,
|
|
245
|
+
searchedLocations,
|
|
246
|
+
manifestFound: false,
|
|
247
|
+
};
|
|
248
|
+
}
|
|
249
|
+
// Find manifest file
|
|
250
|
+
const manifestPath = absolutePath.endsWith(".yaml") ||
|
|
251
|
+
absolutePath.endsWith(".yml") ||
|
|
252
|
+
absolutePath.endsWith(".md")
|
|
253
|
+
? absolutePath
|
|
254
|
+
: findManifestFile(absolutePath);
|
|
255
|
+
if (!manifestPath) {
|
|
256
|
+
return {
|
|
257
|
+
resolution: null,
|
|
258
|
+
searchedLocations,
|
|
259
|
+
manifestFound: false,
|
|
260
|
+
};
|
|
261
|
+
}
|
|
262
|
+
// Try to load the manifest
|
|
263
|
+
try {
|
|
264
|
+
const resolution = resolveToolFromPath(toolNameOrPath);
|
|
265
|
+
return {
|
|
266
|
+
resolution,
|
|
267
|
+
searchedLocations,
|
|
268
|
+
manifestFound: true,
|
|
269
|
+
manifestPath,
|
|
270
|
+
};
|
|
271
|
+
}
|
|
272
|
+
catch (error) {
|
|
273
|
+
// Manifest found but invalid
|
|
274
|
+
return {
|
|
275
|
+
resolution: null,
|
|
276
|
+
error: error instanceof Error ? error : new Error(String(error)),
|
|
277
|
+
searchedLocations,
|
|
278
|
+
manifestFound: true,
|
|
279
|
+
manifestPath,
|
|
280
|
+
};
|
|
218
281
|
}
|
|
219
|
-
return resolveTool(toolNameOrPath, options);
|
|
220
282
|
}
|
|
221
|
-
|
|
222
|
-
|
|
283
|
+
// Resolve by name
|
|
284
|
+
try {
|
|
285
|
+
const resolution = resolveTool(toolNameOrPath, options);
|
|
286
|
+
return {
|
|
287
|
+
resolution,
|
|
288
|
+
searchedLocations: getToolSearchPaths(toolNameOrPath, options),
|
|
289
|
+
manifestFound: true,
|
|
290
|
+
manifestPath: resolution.manifestPath,
|
|
291
|
+
};
|
|
292
|
+
}
|
|
293
|
+
catch (error) {
|
|
294
|
+
// Check if error is due to manifest validation vs not found
|
|
295
|
+
if (error instanceof ToolResolveError) {
|
|
296
|
+
return {
|
|
297
|
+
resolution: null,
|
|
298
|
+
error,
|
|
299
|
+
searchedLocations: error.searchedLocations ?? [],
|
|
300
|
+
manifestFound: false,
|
|
301
|
+
};
|
|
302
|
+
}
|
|
303
|
+
// ManifestLoadError means manifest was found but invalid
|
|
304
|
+
if (error instanceof ManifestLoadError) {
|
|
305
|
+
return {
|
|
306
|
+
resolution: null,
|
|
307
|
+
error,
|
|
308
|
+
searchedLocations: getToolSearchPaths(toolNameOrPath, options),
|
|
309
|
+
manifestFound: true,
|
|
310
|
+
manifestPath: error.filePath,
|
|
311
|
+
};
|
|
312
|
+
}
|
|
313
|
+
// Other error
|
|
314
|
+
return {
|
|
315
|
+
resolution: null,
|
|
316
|
+
error: error instanceof Error ? error : new Error(String(error)),
|
|
317
|
+
searchedLocations: getToolSearchPaths(toolNameOrPath, options),
|
|
318
|
+
manifestFound: false,
|
|
319
|
+
};
|
|
223
320
|
}
|
|
224
321
|
}
|
|
225
322
|
/**
|
|
@@ -240,7 +337,8 @@ export function resolveToolAuto(toolNameOrPath, options = {}) {
|
|
|
240
337
|
}
|
|
241
338
|
// Check if the path exists as-is (could be a relative directory without ./)
|
|
242
339
|
if (existsSync(toolNameOrPath)) {
|
|
243
|
-
|
|
340
|
+
// Local tools can have simple names (no hierarchy required)
|
|
341
|
+
const result = tryLoadFromDir(resolve(toolNameOrPath), "file", { allowSimpleNames: true });
|
|
244
342
|
if (result) {
|
|
245
343
|
return result;
|
|
246
344
|
}
|
package/dist/resolver.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../src/resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/D,OAAO,
|
|
1
|
+
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../src/resolver.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@enactprotocol/shared",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.28",
|
|
4
4
|
"description": "Core business logic and utilities for Enact",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
"typecheck": "tsc --noEmit"
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@enactprotocol/trust": "2.1.
|
|
21
|
+
"@enactprotocol/trust": "2.1.28",
|
|
22
22
|
"js-yaml": "^4.1.1",
|
|
23
23
|
"zod": "^4.1.13"
|
|
24
24
|
},
|
package/src/execution/index.ts
CHANGED
package/src/execution/types.ts
CHANGED
|
@@ -121,6 +121,18 @@ export interface ExecutionError {
|
|
|
121
121
|
// Execution Options
|
|
122
122
|
// ============================================================================
|
|
123
123
|
|
|
124
|
+
/**
|
|
125
|
+
* Input path configuration for mounting files/directories
|
|
126
|
+
*/
|
|
127
|
+
export interface InputPathConfig {
|
|
128
|
+
/** Absolute path on host */
|
|
129
|
+
path: string;
|
|
130
|
+
/** Whether it's a file or directory */
|
|
131
|
+
type: "file" | "directory";
|
|
132
|
+
/** Named input (for multi-input support, e.g., "left" from --input left=./path) */
|
|
133
|
+
name?: string;
|
|
134
|
+
}
|
|
135
|
+
|
|
124
136
|
/**
|
|
125
137
|
* Options for tool execution
|
|
126
138
|
*/
|
|
@@ -139,6 +151,10 @@ export interface ExecutionOptions {
|
|
|
139
151
|
additionalEnv?: Record<string, string>;
|
|
140
152
|
/** Mount host directories (host path -> container path) */
|
|
141
153
|
mountDirs?: Record<string, string>;
|
|
154
|
+
/** Input paths to mount (files or directories) */
|
|
155
|
+
inputPaths?: InputPathConfig[];
|
|
156
|
+
/** Output path to export /output directory to after execution */
|
|
157
|
+
outputPath?: string;
|
|
142
158
|
/** Output files to extract (container path) */
|
|
143
159
|
outputFiles?: string[];
|
|
144
160
|
/** Retry configuration */
|
package/src/index.ts
CHANGED
|
@@ -119,11 +119,13 @@ export {
|
|
|
119
119
|
resolveToolAuto,
|
|
120
120
|
resolveToolFromPath,
|
|
121
121
|
tryResolveTool,
|
|
122
|
+
tryResolveToolDetailed,
|
|
122
123
|
normalizeToolName,
|
|
123
124
|
toolNameToPath,
|
|
124
125
|
getToolPath,
|
|
125
126
|
getToolSearchPaths,
|
|
126
127
|
type ResolveOptions,
|
|
128
|
+
type TryResolveResult,
|
|
127
129
|
} from "./resolver";
|
|
128
130
|
|
|
129
131
|
// Local tool registry (tools.json management)
|
|
@@ -143,6 +145,30 @@ export {
|
|
|
143
145
|
type InstalledToolInfo,
|
|
144
146
|
} from "./registry";
|
|
145
147
|
|
|
148
|
+
// MCP tool registry (mcp.json management)
|
|
149
|
+
export {
|
|
150
|
+
loadMcpRegistry,
|
|
151
|
+
saveMcpRegistry,
|
|
152
|
+
addMcpTool,
|
|
153
|
+
removeMcpTool,
|
|
154
|
+
isMcpToolInstalled,
|
|
155
|
+
getMcpToolVersion,
|
|
156
|
+
listMcpTools,
|
|
157
|
+
getMcpToolInfo,
|
|
158
|
+
getMcpJsonPath,
|
|
159
|
+
syncMcpWithGlobalTools,
|
|
160
|
+
// Toolset management
|
|
161
|
+
createToolset,
|
|
162
|
+
deleteToolset,
|
|
163
|
+
addToolToToolset,
|
|
164
|
+
removeToolFromToolset,
|
|
165
|
+
setActiveToolset,
|
|
166
|
+
getActiveToolset,
|
|
167
|
+
listToolsets,
|
|
168
|
+
type McpRegistry,
|
|
169
|
+
type McpToolInfo,
|
|
170
|
+
} from "./mcp-registry";
|
|
171
|
+
|
|
146
172
|
// Logger utility
|
|
147
173
|
export {
|
|
148
174
|
Logger,
|
|
@@ -211,6 +237,7 @@ export {
|
|
|
211
237
|
type ExecutionError,
|
|
212
238
|
type ExecutionErrorCode,
|
|
213
239
|
type ExecutionOptions,
|
|
240
|
+
type InputPathConfig,
|
|
214
241
|
type RetryConfig,
|
|
215
242
|
type ContainerRuntime,
|
|
216
243
|
type RuntimeDetection,
|
package/src/manifest/index.ts
CHANGED
|
@@ -18,9 +18,11 @@ export {
|
|
|
18
18
|
validateManifest,
|
|
19
19
|
validateManifestStrict,
|
|
20
20
|
isValidToolName,
|
|
21
|
+
isValidLocalToolName,
|
|
21
22
|
isValidVersion,
|
|
22
23
|
isValidTimeout,
|
|
23
24
|
ToolManifestSchema,
|
|
25
|
+
type ValidateManifestOptions,
|
|
24
26
|
} from "./validator";
|
|
25
27
|
|
|
26
28
|
// Loader
|
|
@@ -33,4 +35,5 @@ export {
|
|
|
33
35
|
tryLoadManifest,
|
|
34
36
|
tryLoadManifestFromDir,
|
|
35
37
|
type LoadedManifest,
|
|
38
|
+
type LoadManifestOptions,
|
|
36
39
|
} from "./loader";
|
package/src/manifest/loader.ts
CHANGED
|
@@ -9,7 +9,7 @@ import { basename, join } from "node:path";
|
|
|
9
9
|
import type { ParsedManifest, ToolManifest, ValidationResult } from "../types/manifest";
|
|
10
10
|
import { MANIFEST_FILES } from "../types/manifest";
|
|
11
11
|
import { ManifestParseError, parseManifestAuto } from "./parser";
|
|
12
|
-
import { validateManifest } from "./validator";
|
|
12
|
+
import { type ValidateManifestOptions, validateManifest } from "./validator";
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
15
|
* Error thrown when loading a manifest fails
|
|
@@ -41,14 +41,22 @@ export interface LoadedManifest {
|
|
|
41
41
|
warnings?: ValidationResult["warnings"];
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
+
/**
|
|
45
|
+
* Options for loading a manifest
|
|
46
|
+
*/
|
|
47
|
+
export interface LoadManifestOptions extends ValidateManifestOptions {
|
|
48
|
+
// Inherits allowSimpleNames from ValidateManifestOptions
|
|
49
|
+
}
|
|
50
|
+
|
|
44
51
|
/**
|
|
45
52
|
* Load a manifest from a file path
|
|
46
53
|
*
|
|
47
54
|
* @param filePath - Path to the manifest file (SKILL.md, enact.md, enact.yaml, or enact.yml)
|
|
55
|
+
* @param options - Options for loading and validation
|
|
48
56
|
* @returns LoadedManifest with validated manifest and metadata
|
|
49
57
|
* @throws ManifestLoadError if file doesn't exist, parse fails, or validation fails
|
|
50
58
|
*/
|
|
51
|
-
export function loadManifest(filePath: string): LoadedManifest {
|
|
59
|
+
export function loadManifest(filePath: string, options: LoadManifestOptions = {}): LoadedManifest {
|
|
52
60
|
// Check file exists
|
|
53
61
|
if (!existsSync(filePath)) {
|
|
54
62
|
throw new ManifestLoadError(`Manifest file not found: ${filePath}`, filePath);
|
|
@@ -82,7 +90,7 @@ export function loadManifest(filePath: string): LoadedManifest {
|
|
|
82
90
|
}
|
|
83
91
|
|
|
84
92
|
// Validate the manifest
|
|
85
|
-
const validation = validateManifest(parsed.manifest);
|
|
93
|
+
const validation = validateManifest(parsed.manifest, options);
|
|
86
94
|
|
|
87
95
|
if (!validation.valid) {
|
|
88
96
|
const errorMessages =
|
|
@@ -114,15 +122,19 @@ export function loadManifest(filePath: string): LoadedManifest {
|
|
|
114
122
|
* Searches for SKILL.md, enact.md, enact.yaml, or enact.yml in the given directory
|
|
115
123
|
*
|
|
116
124
|
* @param dir - Directory to search for manifest
|
|
125
|
+
* @param options - Options for loading and validation
|
|
117
126
|
* @returns LoadedManifest if found
|
|
118
127
|
* @throws ManifestLoadError if no manifest found or loading fails
|
|
119
128
|
*/
|
|
120
|
-
export function loadManifestFromDir(
|
|
129
|
+
export function loadManifestFromDir(
|
|
130
|
+
dir: string,
|
|
131
|
+
options: LoadManifestOptions = {}
|
|
132
|
+
): LoadedManifest {
|
|
121
133
|
// Try each manifest filename in order of preference
|
|
122
134
|
for (const filename of MANIFEST_FILES) {
|
|
123
135
|
const filePath = join(dir, filename);
|
|
124
136
|
if (existsSync(filePath)) {
|
|
125
|
-
return loadManifest(filePath);
|
|
137
|
+
return loadManifest(filePath, options);
|
|
126
138
|
}
|
|
127
139
|
}
|
|
128
140
|
|
|
@@ -162,11 +174,15 @@ export function hasManifest(dir: string): boolean {
|
|
|
162
174
|
* Try to load a manifest, returning null instead of throwing
|
|
163
175
|
*
|
|
164
176
|
* @param filePath - Path to the manifest file
|
|
177
|
+
* @param options - Options for loading and validation
|
|
165
178
|
* @returns LoadedManifest or null if loading fails
|
|
166
179
|
*/
|
|
167
|
-
export function tryLoadManifest(
|
|
180
|
+
export function tryLoadManifest(
|
|
181
|
+
filePath: string,
|
|
182
|
+
options: LoadManifestOptions = {}
|
|
183
|
+
): LoadedManifest | null {
|
|
168
184
|
try {
|
|
169
|
-
return loadManifest(filePath);
|
|
185
|
+
return loadManifest(filePath, options);
|
|
170
186
|
} catch {
|
|
171
187
|
return null;
|
|
172
188
|
}
|
|
@@ -176,11 +192,15 @@ export function tryLoadManifest(filePath: string): LoadedManifest | null {
|
|
|
176
192
|
* Try to load a manifest from a directory, returning null instead of throwing
|
|
177
193
|
*
|
|
178
194
|
* @param dir - Directory to search
|
|
195
|
+
* @param options - Options for loading and validation
|
|
179
196
|
* @returns LoadedManifest or null if no manifest found or loading fails
|
|
180
197
|
*/
|
|
181
|
-
export function tryLoadManifestFromDir(
|
|
198
|
+
export function tryLoadManifestFromDir(
|
|
199
|
+
dir: string,
|
|
200
|
+
options: LoadManifestOptions = {}
|
|
201
|
+
): LoadedManifest | null {
|
|
182
202
|
try {
|
|
183
|
-
return loadManifestFromDir(dir);
|
|
203
|
+
return loadManifestFromDir(dir, options);
|
|
184
204
|
} catch {
|
|
185
205
|
return null;
|
|
186
206
|
}
|