@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
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Provides containerized tool execution using the Dagger SDK.
|
|
5
5
|
* This is the main entry point for Phase 3 of Enact CLI 2.0.
|
|
6
6
|
*/
|
|
7
|
-
export type { ExecutionInput, FileInput, ExecutionOutput, ExecutionResult, ExecutionMetadata, ExecutionError, ExecutionErrorCode, ExecutionOptions, RetryConfig, ContainerRuntime, RuntimeDetection, RuntimeStatus, EngineHealth, EngineState, ExecutionProvider, ParsedCommand, CommandToken, InterpolationOptions, CommandWarning, CommandWarningCode, InputValidationResult, InputValidationError, DryRunResult, } from "./types.js";
|
|
7
|
+
export type { ExecutionInput, FileInput, ExecutionOutput, ExecutionResult, ExecutionMetadata, ExecutionError, ExecutionErrorCode, ExecutionOptions, InputPathConfig, RetryConfig, ContainerRuntime, RuntimeDetection, RuntimeStatus, EngineHealth, EngineState, ExecutionProvider, ParsedCommand, CommandToken, InterpolationOptions, CommandWarning, CommandWarningCode, InputValidationResult, InputValidationError, DryRunResult, } from "./types.js";
|
|
8
8
|
export { DEFAULT_RETRY_CONFIG } from "./types.js";
|
|
9
9
|
export { detectRuntime, clearRuntimeCache, isRuntimeAvailable, getAvailableRuntimes, RuntimeStatusTracker, createRuntimeTracker, } from "./runtime.js";
|
|
10
10
|
export { parseCommand, interpolateCommand, shellEscape, parseCommandArgs, prepareCommand, getMissingParams, type ParseCommandOptions, } from "./command.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/execution/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,YAAY,EAEV,cAAc,EACd,SAAS,EACT,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAElB,gBAAgB,EAChB,WAAW,EAEX,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EAEb,YAAY,EACZ,WAAW,EAEX,iBAAiB,EAEjB,aAAa,EACb,YAAY,EACZ,oBAAoB,EACpB,cAAc,EACd,kBAAkB,EAElB,qBAAqB,EACrB,oBAAoB,EAEpB,YAAY,GACb,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAGlD,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,KAAK,mBAAmB,GACzB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,YAAY,GACb,MAAM,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/execution/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,YAAY,EAEV,cAAc,EACd,SAAS,EACT,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAElB,gBAAgB,EAChB,eAAe,EACf,WAAW,EAEX,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EAEb,YAAY,EACZ,WAAW,EAEX,iBAAiB,EAEjB,aAAa,EACb,YAAY,EACZ,oBAAoB,EACpB,cAAc,EACd,kBAAkB,EAElB,qBAAqB,EACrB,oBAAoB,EAEpB,YAAY,GACb,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAGlD,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,KAAK,mBAAmB,GACzB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,YAAY,GACb,MAAM,iBAAiB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/execution/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/execution/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAsCH,YAAY;AACZ,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAElD,oBAAoB;AACpB,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,cAAc,CAAC;AAEtB,wBAAwB;AACxB,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,gBAAgB,GAEjB,MAAM,cAAc,CAAC;AAEtB,mBAAmB;AACnB,OAAO,EACL,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,YAAY,GACb,MAAM,iBAAiB,CAAC;AAEzB,kEAAkE;AAClE,2EAA2E"}
|
|
@@ -95,6 +95,17 @@ export interface ExecutionError {
|
|
|
95
95
|
/** Suggested action to resolve */
|
|
96
96
|
suggestion?: string;
|
|
97
97
|
}
|
|
98
|
+
/**
|
|
99
|
+
* Input path configuration for mounting files/directories
|
|
100
|
+
*/
|
|
101
|
+
export interface InputPathConfig {
|
|
102
|
+
/** Absolute path on host */
|
|
103
|
+
path: string;
|
|
104
|
+
/** Whether it's a file or directory */
|
|
105
|
+
type: "file" | "directory";
|
|
106
|
+
/** Named input (for multi-input support, e.g., "left" from --input left=./path) */
|
|
107
|
+
name?: string;
|
|
108
|
+
}
|
|
98
109
|
/**
|
|
99
110
|
* Options for tool execution
|
|
100
111
|
*/
|
|
@@ -113,6 +124,10 @@ export interface ExecutionOptions {
|
|
|
113
124
|
additionalEnv?: Record<string, string>;
|
|
114
125
|
/** Mount host directories (host path -> container path) */
|
|
115
126
|
mountDirs?: Record<string, string>;
|
|
127
|
+
/** Input paths to mount (files or directories) */
|
|
128
|
+
inputPaths?: InputPathConfig[];
|
|
129
|
+
/** Output path to export /output directory to after execution */
|
|
130
|
+
outputPath?: string;
|
|
116
131
|
/** Output files to extract (container path) */
|
|
117
132
|
outputFiles?: string[];
|
|
118
133
|
/** Retry configuration */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/execution/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/execution/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/execution/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/execution/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAgLH;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAgB;IAC/C,UAAU,EAAE,CAAC;IACb,cAAc,EAAE,IAAI;IACpB,UAAU,EAAE,IAAI;IAChB,cAAc,EAAE,CAAC,eAAe,EAAE,cAAc,EAAE,SAAS,CAAC;CAC7D,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -12,10 +12,11 @@ export { loadConfig, saveConfig, getConfigValue, setConfigValue, resetConfig, co
|
|
|
12
12
|
export type { ToolManifest, PackageManifest, ParsedManifest, EnvVariable, EnvVariables, Author, ToolAnnotations, ResourceRequirements, ToolExample, ValidationResult, ValidationError, ValidationWarning, ToolLocation, ToolResolution, ManifestFileName, } from "./types/manifest";
|
|
13
13
|
export { MANIFEST_FILES, PACKAGE_MANIFEST_FILE } from "./types/manifest";
|
|
14
14
|
export { ManifestParseError, parseManifest, parseManifestAuto, parseYaml, extractFrontmatter, detectFormat, type ManifestFormat, validateManifest, validateManifestStrict, isValidToolName, isValidVersion, isValidTimeout, ToolManifestSchema, ManifestLoadError, loadManifest, loadManifestFromDir, findManifestFile, hasManifest, tryLoadManifest, tryLoadManifestFromDir, type LoadedManifest, } from "./manifest";
|
|
15
|
-
export { ToolResolveError, resolveTool, resolveToolAuto, resolveToolFromPath, tryResolveTool, normalizeToolName, toolNameToPath, getToolPath, getToolSearchPaths, type ResolveOptions, } from "./resolver";
|
|
15
|
+
export { ToolResolveError, resolveTool, resolveToolAuto, resolveToolFromPath, tryResolveTool, tryResolveToolDetailed, normalizeToolName, toolNameToPath, getToolPath, getToolSearchPaths, type ResolveOptions, type TryResolveResult, } from "./resolver";
|
|
16
16
|
export { loadToolsRegistry, saveToolsRegistry, addToolToRegistry, removeToolFromRegistry, isToolInstalled, getInstalledVersion, getToolCachePath, listInstalledTools, getInstalledToolInfo, getToolsJsonPath, type ToolsRegistry, type RegistryScope, type InstalledToolInfo, } from "./registry";
|
|
17
|
+
export { loadMcpRegistry, saveMcpRegistry, addMcpTool, removeMcpTool, isMcpToolInstalled, getMcpToolVersion, listMcpTools, getMcpToolInfo, getMcpJsonPath, syncMcpWithGlobalTools, createToolset, deleteToolset, addToolToToolset, removeToolFromToolset, setActiveToolset, getActiveToolset, listToolsets, type McpRegistry, type McpToolInfo, } from "./mcp-registry";
|
|
17
18
|
export { Logger, createLogger, configureLogger, getLogger, debug, info, warn, error, type LogLevel, type LogEntry, type LoggerOptions, } from "./utils/logger";
|
|
18
19
|
export { parseVersion, isValidVersion as isValidSemver, compareVersions, parseRange, satisfiesRange, sortVersions, getHighestVersion, incrementVersion, coerceVersion, formatVersion, type ParsedVersion, type VersionRange, } from "./utils/version";
|
|
19
20
|
export { ensureDir, ensureParentDir, pathExists, isDirectory, isFile, readJsonFile, tryReadJsonFile, writeJsonFile, readTextFile, tryReadTextFile, writeTextFile, copyFile, copyDir, remove, listDir, listDirEntries, findFiles, findFilesRecursive, getStats, getFileSize, touchFile, } from "./utils/fs";
|
|
20
|
-
export { type ExecutionInput, type FileInput, type ExecutionOutput, type ExecutionResult, type ExecutionMetadata, type ExecutionError, type ExecutionErrorCode, type ExecutionOptions, type RetryConfig, type ContainerRuntime, type RuntimeDetection, type RuntimeStatus, type EngineHealth, type EngineState, type ExecutionProvider, type ParsedCommand, type CommandToken, type InterpolationOptions, type InputValidationResult, type InputValidationError, type DryRunResult, DEFAULT_RETRY_CONFIG, detectRuntime, clearRuntimeCache, isRuntimeAvailable, getAvailableRuntimes, RuntimeStatusTracker, createRuntimeTracker, parseCommand, interpolateCommand, shellEscape, parseCommandArgs, prepareCommand, getMissingParams, validateInputs, applyDefaults, getRequiredParams, getParamInfo, } from "./execution";
|
|
21
|
+
export { type ExecutionInput, type FileInput, type ExecutionOutput, type ExecutionResult, type ExecutionMetadata, type ExecutionError, type ExecutionErrorCode, type ExecutionOptions, type InputPathConfig, type RetryConfig, type ContainerRuntime, type RuntimeDetection, type RuntimeStatus, type EngineHealth, type EngineState, type ExecutionProvider, type ParsedCommand, type CommandToken, type InterpolationOptions, type InputValidationResult, type InputValidationError, type DryRunResult, DEFAULT_RETRY_CONFIG, detectRuntime, clearRuntimeCache, isRuntimeAvailable, getAvailableRuntimes, RuntimeStatusTracker, createRuntimeTracker, parseCommand, interpolateCommand, shellEscape, parseCommandArgs, prepareCommand, getMissingParams, validateInputs, applyDefaults, getRequiredParams, getParamInfo, } from "./execution";
|
|
21
22
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,eAAO,MAAM,OAAO,UAAU,CAAC;AAG/B,OAAO,EACL,cAAc,EACd,aAAa,EACb,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,WAAW,EACX,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,KAAK,SAAS,GACf,MAAM,SAAS,CAAC;AAGjB,OAAO,EACL,UAAU,EACV,UAAU,EACV,cAAc,EACd,cAAc,EACd,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,wBAAwB,EAExB,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,EACrB,iBAAiB,EACjB,sBAAsB,EACtB,cAAc,EACd,uBAAuB,EAEvB,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,cAAc,GACpB,MAAM,UAAU,CAAC;AAGlB,YAAY,EACV,YAAY,EACZ,eAAe,EACf,cAAc,EACd,WAAW,EACX,YAAY,EACZ,MAAM,EACN,eAAe,EACf,oBAAoB,EACpB,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAGzE,OAAO,EAEL,kBAAkB,EAClB,aAAa,EACb,iBAAiB,EACjB,SAAS,EACT,kBAAkB,EAClB,YAAY,EACZ,KAAK,cAAc,EAEnB,gBAAgB,EAChB,sBAAsB,EACtB,eAAe,EACf,cAAc,EACd,cAAc,EACd,kBAAkB,EAElB,iBAAiB,EACjB,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,WAAW,EACX,eAAe,EACf,sBAAsB,EACtB,KAAK,cAAc,GACpB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,eAAe,EACf,mBAAmB,EACnB,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,WAAW,EACX,kBAAkB,EAClB,KAAK,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -26,9 +26,13 @@ validateManifest, validateManifestStrict, isValidToolName, isValidVersion, isVal
|
|
|
26
26
|
// Loader
|
|
27
27
|
ManifestLoadError, loadManifest, loadManifestFromDir, findManifestFile, hasManifest, tryLoadManifest, tryLoadManifestFromDir, } from "./manifest";
|
|
28
28
|
// Tool resolver
|
|
29
|
-
export { ToolResolveError, resolveTool, resolveToolAuto, resolveToolFromPath, tryResolveTool, normalizeToolName, toolNameToPath, getToolPath, getToolSearchPaths, } from "./resolver";
|
|
29
|
+
export { ToolResolveError, resolveTool, resolveToolAuto, resolveToolFromPath, tryResolveTool, tryResolveToolDetailed, normalizeToolName, toolNameToPath, getToolPath, getToolSearchPaths, } from "./resolver";
|
|
30
30
|
// Local tool registry (tools.json management)
|
|
31
31
|
export { loadToolsRegistry, saveToolsRegistry, addToolToRegistry, removeToolFromRegistry, isToolInstalled, getInstalledVersion, getToolCachePath, listInstalledTools, getInstalledToolInfo, getToolsJsonPath, } from "./registry";
|
|
32
|
+
// MCP tool registry (mcp.json management)
|
|
33
|
+
export { loadMcpRegistry, saveMcpRegistry, addMcpTool, removeMcpTool, isMcpToolInstalled, getMcpToolVersion, listMcpTools, getMcpToolInfo, getMcpJsonPath, syncMcpWithGlobalTools,
|
|
34
|
+
// Toolset management
|
|
35
|
+
createToolset, deleteToolset, addToolToToolset, removeToolFromToolset, setActiveToolset, getActiveToolset, listToolsets, } from "./mcp-registry";
|
|
32
36
|
// Logger utility
|
|
33
37
|
export { Logger, createLogger, configureLogger, getLogger, debug, info, warn, error, } from "./utils/logger";
|
|
34
38
|
// Version utilities
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAE/B,YAAY;AACZ,OAAO,EACL,cAAc,EACd,aAAa,EACb,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,aAAa,CAAC;AAErB,iBAAiB;AACjB,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,WAAW,EACX,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,iBAAiB,GAElB,MAAM,SAAS,CAAC;AAEjB,wBAAwB;AACxB,OAAO,EACL,UAAU,EACV,UAAU,EACV,cAAc,EACd,cAAc,EACd,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,wBAAwB;AACxB,2CAA2C;AAC3C,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,EACrB,iBAAiB,EACjB,sBAAsB,EACtB,cAAc,EACd,uBAAuB;AACvB,8BAA8B;AAC9B,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,GAMjB,MAAM,UAAU,CAAC;AAqBlB,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEzE,4CAA4C;AAC5C,OAAO;AACL,SAAS;AACT,kBAAkB,EAClB,aAAa,EACb,iBAAiB,EACjB,SAAS,EACT,kBAAkB,EAClB,YAAY;AAEZ,YAAY;AACZ,gBAAgB,EAChB,sBAAsB,EACtB,eAAe,EACf,cAAc,EACd,cAAc,EACd,kBAAkB;AAClB,SAAS;AACT,iBAAiB,EACjB,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,WAAW,EACX,eAAe,EACf,sBAAsB,GAEvB,MAAM,YAAY,CAAC;AAEpB,gBAAgB;AAChB,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,eAAe,EACf,mBAAmB,EACnB,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,WAAW,EACX,kBAAkB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/manifest/index.d.ts
CHANGED
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
* Manifest module exports
|
|
3
3
|
*/
|
|
4
4
|
export { ManifestParseError, parseManifest, parseManifestAuto, parseYaml, extractFrontmatter, detectFormat, type ManifestFormat, } from "./parser";
|
|
5
|
-
export { validateManifest, validateManifestStrict, isValidToolName, isValidVersion, isValidTimeout, ToolManifestSchema, } from "./validator";
|
|
6
|
-
export { ManifestLoadError, loadManifest, loadManifestFromDir, findManifestFile, hasManifest, tryLoadManifest, tryLoadManifestFromDir, type LoadedManifest, } from "./loader";
|
|
5
|
+
export { validateManifest, validateManifestStrict, isValidToolName, isValidLocalToolName, isValidVersion, isValidTimeout, ToolManifestSchema, type ValidateManifestOptions, } from "./validator";
|
|
6
|
+
export { ManifestLoadError, loadManifest, loadManifestFromDir, findManifestFile, hasManifest, tryLoadManifest, tryLoadManifestFromDir, type LoadedManifest, type LoadManifestOptions, } from "./loader";
|
|
7
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/manifest/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,iBAAiB,EACjB,SAAS,EACT,kBAAkB,EAClB,YAAY,EACZ,KAAK,cAAc,GACpB,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,eAAe,EACf,cAAc,EACd,cAAc,EACd,kBAAkB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/manifest/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,iBAAiB,EACjB,SAAS,EACT,kBAAkB,EAClB,YAAY,EACZ,KAAK,cAAc,GACpB,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,eAAe,EACf,oBAAoB,EACpB,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,KAAK,uBAAuB,GAC7B,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,WAAW,EACX,eAAe,EACf,sBAAsB,EACtB,KAAK,cAAc,EACnB,KAAK,mBAAmB,GACzB,MAAM,UAAU,CAAC"}
|
package/dist/manifest/index.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
// Parser
|
|
5
5
|
export { ManifestParseError, parseManifest, parseManifestAuto, parseYaml, extractFrontmatter, detectFormat, } from "./parser";
|
|
6
6
|
// Validator
|
|
7
|
-
export { validateManifest, validateManifestStrict, isValidToolName, isValidVersion, isValidTimeout, ToolManifestSchema, } from "./validator";
|
|
7
|
+
export { validateManifest, validateManifestStrict, isValidToolName, isValidLocalToolName, isValidVersion, isValidTimeout, ToolManifestSchema, } from "./validator";
|
|
8
8
|
// Loader
|
|
9
9
|
export { ManifestLoadError, loadManifest, loadManifestFromDir, findManifestFile, hasManifest, tryLoadManifest, tryLoadManifestFromDir, } from "./loader";
|
|
10
10
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/manifest/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,SAAS;AACT,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,iBAAiB,EACjB,SAAS,EACT,kBAAkB,EAClB,YAAY,GAEb,MAAM,UAAU,CAAC;AAElB,YAAY;AACZ,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,eAAe,EACf,cAAc,EACd,cAAc,EACd,kBAAkB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/manifest/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,SAAS;AACT,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,iBAAiB,EACjB,SAAS,EACT,kBAAkB,EAClB,YAAY,GAEb,MAAM,UAAU,CAAC;AAElB,YAAY;AACZ,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,eAAe,EACf,oBAAoB,EACpB,cAAc,EACd,cAAc,EACd,kBAAkB,GAEnB,MAAM,aAAa,CAAC;AAErB,SAAS;AACT,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,WAAW,EACX,eAAe,EACf,sBAAsB,GAGvB,MAAM,UAAU,CAAC"}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
* Provides high-level functions to load tool manifests from files
|
|
5
5
|
*/
|
|
6
6
|
import type { ToolManifest, ValidationResult } from "../types/manifest";
|
|
7
|
+
import { type ValidateManifestOptions } from "./validator";
|
|
7
8
|
/**
|
|
8
9
|
* Error thrown when loading a manifest fails
|
|
9
10
|
*/
|
|
@@ -27,24 +28,31 @@ export interface LoadedManifest {
|
|
|
27
28
|
/** Validation warnings (if any) */
|
|
28
29
|
warnings?: ValidationResult["warnings"];
|
|
29
30
|
}
|
|
31
|
+
/**
|
|
32
|
+
* Options for loading a manifest
|
|
33
|
+
*/
|
|
34
|
+
export interface LoadManifestOptions extends ValidateManifestOptions {
|
|
35
|
+
}
|
|
30
36
|
/**
|
|
31
37
|
* Load a manifest from a file path
|
|
32
38
|
*
|
|
33
39
|
* @param filePath - Path to the manifest file (SKILL.md, enact.md, enact.yaml, or enact.yml)
|
|
40
|
+
* @param options - Options for loading and validation
|
|
34
41
|
* @returns LoadedManifest with validated manifest and metadata
|
|
35
42
|
* @throws ManifestLoadError if file doesn't exist, parse fails, or validation fails
|
|
36
43
|
*/
|
|
37
|
-
export declare function loadManifest(filePath: string): LoadedManifest;
|
|
44
|
+
export declare function loadManifest(filePath: string, options?: LoadManifestOptions): LoadedManifest;
|
|
38
45
|
/**
|
|
39
46
|
* Find and load a manifest from a directory
|
|
40
47
|
*
|
|
41
48
|
* Searches for SKILL.md, enact.md, enact.yaml, or enact.yml in the given directory
|
|
42
49
|
*
|
|
43
50
|
* @param dir - Directory to search for manifest
|
|
51
|
+
* @param options - Options for loading and validation
|
|
44
52
|
* @returns LoadedManifest if found
|
|
45
53
|
* @throws ManifestLoadError if no manifest found or loading fails
|
|
46
54
|
*/
|
|
47
|
-
export declare function loadManifestFromDir(dir: string): LoadedManifest;
|
|
55
|
+
export declare function loadManifestFromDir(dir: string, options?: LoadManifestOptions): LoadedManifest;
|
|
48
56
|
/**
|
|
49
57
|
* Find a manifest file in a directory without loading it
|
|
50
58
|
*
|
|
@@ -63,14 +71,16 @@ export declare function hasManifest(dir: string): boolean;
|
|
|
63
71
|
* Try to load a manifest, returning null instead of throwing
|
|
64
72
|
*
|
|
65
73
|
* @param filePath - Path to the manifest file
|
|
74
|
+
* @param options - Options for loading and validation
|
|
66
75
|
* @returns LoadedManifest or null if loading fails
|
|
67
76
|
*/
|
|
68
|
-
export declare function tryLoadManifest(filePath: string): LoadedManifest | null;
|
|
77
|
+
export declare function tryLoadManifest(filePath: string, options?: LoadManifestOptions): LoadedManifest | null;
|
|
69
78
|
/**
|
|
70
79
|
* Try to load a manifest from a directory, returning null instead of throwing
|
|
71
80
|
*
|
|
72
81
|
* @param dir - Directory to search
|
|
82
|
+
* @param options - Options for loading and validation
|
|
73
83
|
* @returns LoadedManifest or null if no manifest found or loading fails
|
|
74
84
|
*/
|
|
75
|
-
export declare function tryLoadManifestFromDir(dir: string): LoadedManifest | null;
|
|
85
|
+
export declare function tryLoadManifestFromDir(dir: string, options?: LoadManifestOptions): LoadedManifest | null;
|
|
76
86
|
//# sourceMappingURL=loader.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/manifest/loader.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAkB,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/manifest/loader.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAkB,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAGxF,OAAO,EAAE,KAAK,uBAAuB,EAAoB,MAAM,aAAa,CAAC;AAE7E;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,KAAK;aAGxB,QAAQ,EAAE,MAAM;aAChB,aAAa,CAAC,EAAE,KAAK;gBAFrC,OAAO,EAAE,MAAM,EACC,QAAQ,EAAE,MAAM,EAChB,aAAa,CAAC,EAAE,KAAK,YAAA;CAKxC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,6BAA6B;IAC7B,QAAQ,EAAE,YAAY,CAAC;IACvB,2CAA2C;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8CAA8C;IAC9C,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,iDAAiD;IACjD,QAAQ,EAAE,MAAM,CAAC;IACjB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,uBAAuB;CAEnE;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,mBAAwB,GAAG,cAAc,CA0DhG;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,mBAAwB,GAChC,cAAc,CAahB;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQ3D;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,mBAAwB,GAChC,cAAc,GAAG,IAAI,CAMvB;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,mBAAwB,GAChC,cAAc,GAAG,IAAI,CAMvB"}
|
package/dist/manifest/loader.js
CHANGED
|
@@ -25,10 +25,11 @@ export class ManifestLoadError extends Error {
|
|
|
25
25
|
* Load a manifest from a file path
|
|
26
26
|
*
|
|
27
27
|
* @param filePath - Path to the manifest file (SKILL.md, enact.md, enact.yaml, or enact.yml)
|
|
28
|
+
* @param options - Options for loading and validation
|
|
28
29
|
* @returns LoadedManifest with validated manifest and metadata
|
|
29
30
|
* @throws ManifestLoadError if file doesn't exist, parse fails, or validation fails
|
|
30
31
|
*/
|
|
31
|
-
export function loadManifest(filePath) {
|
|
32
|
+
export function loadManifest(filePath, options = {}) {
|
|
32
33
|
// Check file exists
|
|
33
34
|
if (!existsSync(filePath)) {
|
|
34
35
|
throw new ManifestLoadError(`Manifest file not found: ${filePath}`, filePath);
|
|
@@ -53,7 +54,7 @@ export function loadManifest(filePath) {
|
|
|
53
54
|
throw new ManifestLoadError(`Failed to parse manifest: ${error.message}`, filePath, error);
|
|
54
55
|
}
|
|
55
56
|
// Validate the manifest
|
|
56
|
-
const validation = validateManifest(parsed.manifest);
|
|
57
|
+
const validation = validateManifest(parsed.manifest, options);
|
|
57
58
|
if (!validation.valid) {
|
|
58
59
|
const errorMessages = validation.errors?.map((e) => ` - ${e.path}: ${e.message}`).join("\n") ?? "";
|
|
59
60
|
throw new ManifestLoadError(`Manifest validation failed:\n${errorMessages}`, filePath);
|
|
@@ -78,15 +79,16 @@ export function loadManifest(filePath) {
|
|
|
78
79
|
* Searches for SKILL.md, enact.md, enact.yaml, or enact.yml in the given directory
|
|
79
80
|
*
|
|
80
81
|
* @param dir - Directory to search for manifest
|
|
82
|
+
* @param options - Options for loading and validation
|
|
81
83
|
* @returns LoadedManifest if found
|
|
82
84
|
* @throws ManifestLoadError if no manifest found or loading fails
|
|
83
85
|
*/
|
|
84
|
-
export function loadManifestFromDir(dir) {
|
|
86
|
+
export function loadManifestFromDir(dir, options = {}) {
|
|
85
87
|
// Try each manifest filename in order of preference
|
|
86
88
|
for (const filename of MANIFEST_FILES) {
|
|
87
89
|
const filePath = join(dir, filename);
|
|
88
90
|
if (existsSync(filePath)) {
|
|
89
|
-
return loadManifest(filePath);
|
|
91
|
+
return loadManifest(filePath, options);
|
|
90
92
|
}
|
|
91
93
|
}
|
|
92
94
|
throw new ManifestLoadError(`No manifest found in directory: ${dir}. Expected one of: ${MANIFEST_FILES.join(", ")}`, dir);
|
|
@@ -119,11 +121,12 @@ export function hasManifest(dir) {
|
|
|
119
121
|
* Try to load a manifest, returning null instead of throwing
|
|
120
122
|
*
|
|
121
123
|
* @param filePath - Path to the manifest file
|
|
124
|
+
* @param options - Options for loading and validation
|
|
122
125
|
* @returns LoadedManifest or null if loading fails
|
|
123
126
|
*/
|
|
124
|
-
export function tryLoadManifest(filePath) {
|
|
127
|
+
export function tryLoadManifest(filePath, options = {}) {
|
|
125
128
|
try {
|
|
126
|
-
return loadManifest(filePath);
|
|
129
|
+
return loadManifest(filePath, options);
|
|
127
130
|
}
|
|
128
131
|
catch {
|
|
129
132
|
return null;
|
|
@@ -133,11 +136,12 @@ export function tryLoadManifest(filePath) {
|
|
|
133
136
|
* Try to load a manifest from a directory, returning null instead of throwing
|
|
134
137
|
*
|
|
135
138
|
* @param dir - Directory to search
|
|
139
|
+
* @param options - Options for loading and validation
|
|
136
140
|
* @returns LoadedManifest or null if no manifest found or loading fails
|
|
137
141
|
*/
|
|
138
|
-
export function tryLoadManifestFromDir(dir) {
|
|
142
|
+
export function tryLoadManifestFromDir(dir, options = {}) {
|
|
139
143
|
try {
|
|
140
|
-
return loadManifestFromDir(dir);
|
|
144
|
+
return loadManifestFromDir(dir, options);
|
|
141
145
|
}
|
|
142
146
|
catch {
|
|
143
147
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/manifest/loader.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAE3C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AACjE,OAAO,
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/manifest/loader.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAE3C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AACjE,OAAO,EAAgC,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE7E;;GAEG;AACH,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAGxB;IACA;IAHlB,YACE,OAAe,EACC,QAAgB,EAChB,aAAqB;QAErC,KAAK,CAAC,OAAO,CAAC,CAAC;QAHC,aAAQ,GAAR,QAAQ,CAAQ;QAChB,kBAAa,GAAb,aAAa,CAAQ;QAGrC,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AAyBD;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAAC,QAAgB,EAAE,UAA+B,EAAE;IAC9E,oBAAoB;IACpB,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,iBAAiB,CAAC,4BAA4B,QAAQ,EAAE,EAAE,QAAQ,CAAC,CAAC;IAChF,CAAC;IAED,oBAAoB;IACpB,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACH,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,iBAAiB,CACzB,iCAAkC,KAAe,CAAC,OAAO,EAAE,EAC3D,QAAQ,EACR,KAAc,CACf,CAAC;IACJ,CAAC;IAED,qBAAqB;IACrB,IAAI,MAAsB,CAAC;IAC3B,IAAI,CAAC;QACH,MAAM,GAAG,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC1D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,kBAAkB,EAAE,CAAC;YACxC,MAAM,IAAI,iBAAiB,CAAC,6BAA6B,KAAK,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC7F,CAAC;QACD,MAAM,IAAI,iBAAiB,CACzB,6BAA8B,KAAe,CAAC,OAAO,EAAE,EACvD,QAAQ,EACR,KAAc,CACf,CAAC;IACJ,CAAC;IAED,wBAAwB;IACxB,MAAM,UAAU,GAAG,gBAAgB,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAE9D,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACtB,MAAM,aAAa,GACjB,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAChF,MAAM,IAAI,iBAAiB,CAAC,gCAAgC,aAAa,EAAE,EAAE,QAAQ,CAAC,CAAC;IACzF,CAAC;IAED,eAAe;IACf,MAAM,MAAM,GAAmB;QAC7B,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,QAAQ;KACT,CAAC;IAEF,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAChB,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED,IAAI,UAAU,CAAC,QAAQ,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1D,MAAM,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;IACxC,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,mBAAmB,CACjC,GAAW,EACX,UAA+B,EAAE;IAEjC,oDAAoD;IACpD,KAAK,MAAM,QAAQ,IAAI,cAAc,EAAE,CAAC;QACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACrC,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzB,OAAO,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAED,MAAM,IAAI,iBAAiB,CACzB,mCAAmC,GAAG,sBAAsB,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EACvF,GAAG,CACJ,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,KAAK,MAAM,QAAQ,IAAI,cAAc,EAAE,CAAC;QACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACrC,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzB,OAAO,QAAQ,CAAC;QAClB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,OAAO,gBAAgB,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;AACxC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAC7B,QAAgB,EAChB,UAA+B,EAAE;IAEjC,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CACpC,GAAW,EACX,UAA+B,EAAE;IAEjC,IAAI,CAAC;QACH,OAAO,mBAAmB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
import { z } from "zod/v4";
|
|
7
7
|
import type { ToolManifest, ValidationResult } from "../types/manifest";
|
|
8
8
|
/**
|
|
9
|
-
* Complete tool manifest schema
|
|
9
|
+
* Complete tool manifest schema (strict - requires hierarchical names)
|
|
10
10
|
*/
|
|
11
11
|
declare const ToolManifestSchema: z.ZodObject<{
|
|
12
12
|
name: z.ZodString;
|
|
@@ -63,26 +63,43 @@ declare const ToolManifestSchema: z.ZodObject<{
|
|
|
63
63
|
description: z.ZodOptional<z.ZodString>;
|
|
64
64
|
}, z.core.$strip>>>;
|
|
65
65
|
}, z.core.$loose>;
|
|
66
|
+
/**
|
|
67
|
+
* Options for manifest validation
|
|
68
|
+
*/
|
|
69
|
+
export interface ValidateManifestOptions {
|
|
70
|
+
/**
|
|
71
|
+
* Allow simple tool names without hierarchy (e.g., "my-tool" instead of "org/my-tool").
|
|
72
|
+
* Use this for local tools that won't be published.
|
|
73
|
+
* @default false
|
|
74
|
+
*/
|
|
75
|
+
allowSimpleNames?: boolean;
|
|
76
|
+
}
|
|
66
77
|
/**
|
|
67
78
|
* Validate a tool manifest
|
|
68
79
|
*
|
|
69
80
|
* @param manifest - The manifest to validate (parsed but unvalidated)
|
|
81
|
+
* @param options - Validation options
|
|
70
82
|
* @returns ValidationResult with valid flag, errors, and warnings
|
|
71
83
|
*/
|
|
72
|
-
export declare function validateManifest(manifest: unknown): ValidationResult;
|
|
84
|
+
export declare function validateManifest(manifest: unknown, options?: ValidateManifestOptions): ValidationResult;
|
|
73
85
|
/**
|
|
74
86
|
* Validate and return the typed manifest
|
|
75
87
|
* Throws if validation fails
|
|
76
88
|
*
|
|
77
89
|
* @param manifest - The manifest to validate
|
|
90
|
+
* @param options - Validation options
|
|
78
91
|
* @returns The validated ToolManifest
|
|
79
92
|
* @throws Error if validation fails
|
|
80
93
|
*/
|
|
81
|
-
export declare function validateManifestStrict(manifest: unknown): ToolManifest;
|
|
94
|
+
export declare function validateManifestStrict(manifest: unknown, options?: ValidateManifestOptions): ToolManifest;
|
|
82
95
|
/**
|
|
83
|
-
* Check if a string is a valid tool name
|
|
96
|
+
* Check if a string is a valid tool name (hierarchical format for publishing)
|
|
84
97
|
*/
|
|
85
98
|
export declare function isValidToolName(name: string): boolean;
|
|
99
|
+
/**
|
|
100
|
+
* Check if a string is a valid local tool name (allows simple names)
|
|
101
|
+
*/
|
|
102
|
+
export declare function isValidLocalToolName(name: string): boolean;
|
|
86
103
|
/**
|
|
87
104
|
* Check if a string is a valid semver version
|
|
88
105
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/manifest/validator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,KAAK,EACV,YAAY,EAEZ,gBAAgB,EAEjB,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/manifest/validator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,KAAK,EACV,YAAY,EAEZ,gBAAgB,EAEjB,MAAM,mBAAmB,CAAC;AA+I3B;;GAEG;AACH,QAAA,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAkC,CAAC;AAoG3D;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,OAAO,EACjB,OAAO,GAAE,uBAA4B,GACpC,gBAAgB,CAmBlB;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,OAAO,EACjB,OAAO,GAAE,uBAA4B,GACpC,YAAY,CASd;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAErD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEvD;AAGD,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
|
|
@@ -66,56 +66,72 @@ const JsonSchemaSchema = z
|
|
|
66
66
|
*/
|
|
67
67
|
const SEMVER_REGEX = /^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/;
|
|
68
68
|
/**
|
|
69
|
-
* Tool name regex - hierarchical path format
|
|
69
|
+
* Tool name regex - hierarchical path format (required for publishing)
|
|
70
70
|
*/
|
|
71
71
|
const TOOL_NAME_REGEX = /^[a-z0-9_-]+(?:\/[a-z0-9_-]+)+$/;
|
|
72
|
+
/**
|
|
73
|
+
* Tool name regex - simple format (allowed for local tools)
|
|
74
|
+
* Allows both hierarchical (org/tool) and simple (my-tool) names
|
|
75
|
+
*/
|
|
76
|
+
const TOOL_NAME_REGEX_LOCAL = /^[a-z0-9_-]+(?:\/[a-z0-9_-]+)*$/;
|
|
72
77
|
/**
|
|
73
78
|
* Go duration regex (used for timeout)
|
|
74
79
|
*/
|
|
75
80
|
const GO_DURATION_REGEX = /^(\d+)(ns|us|µs|ms|s|m|h)$/;
|
|
76
81
|
/**
|
|
77
|
-
*
|
|
82
|
+
* Create a tool manifest schema with configurable name validation
|
|
78
83
|
*/
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
.
|
|
84
|
-
|
|
85
|
-
.
|
|
86
|
-
|
|
87
|
-
.string()
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
.string()
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
.string()
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
84
|
+
function createToolManifestSchema(allowSimpleNames) {
|
|
85
|
+
const nameRegex = allowSimpleNames ? TOOL_NAME_REGEX_LOCAL : TOOL_NAME_REGEX;
|
|
86
|
+
const nameMessage = allowSimpleNames
|
|
87
|
+
? "Tool name must contain only lowercase letters, numbers, hyphens, and underscores"
|
|
88
|
+
: "Tool name must be hierarchical path format (e.g., 'org/tool' or 'org/category/tool')";
|
|
89
|
+
return z
|
|
90
|
+
.object({
|
|
91
|
+
// Required fields
|
|
92
|
+
name: z.string().min(1, "Tool name is required").regex(nameRegex, nameMessage),
|
|
93
|
+
description: z
|
|
94
|
+
.string()
|
|
95
|
+
.min(1, "Description is required")
|
|
96
|
+
.max(500, "Description should be 500 characters or less"),
|
|
97
|
+
// Recommended fields
|
|
98
|
+
enact: z.string().optional(),
|
|
99
|
+
version: z
|
|
100
|
+
.string()
|
|
101
|
+
.regex(SEMVER_REGEX, "Version must be valid semver (e.g., '1.0.0')")
|
|
102
|
+
.optional(),
|
|
103
|
+
from: z.string().optional(),
|
|
104
|
+
command: z.string().optional(),
|
|
105
|
+
timeout: z
|
|
106
|
+
.string()
|
|
107
|
+
.regex(GO_DURATION_REGEX, "Timeout must be Go duration format (e.g., '30s', '5m', '1h')")
|
|
108
|
+
.optional(),
|
|
109
|
+
license: z.string().optional(),
|
|
110
|
+
tags: z.array(z.string()).optional(),
|
|
111
|
+
// Schema fields
|
|
112
|
+
inputSchema: JsonSchemaSchema.optional(),
|
|
113
|
+
outputSchema: JsonSchemaSchema.optional(),
|
|
114
|
+
// Environment variables
|
|
115
|
+
env: z.record(z.string(), EnvVariableSchema).optional(),
|
|
116
|
+
// Behavior & Resources
|
|
117
|
+
annotations: ToolAnnotationsSchema.optional(),
|
|
118
|
+
resources: ResourceRequirementsSchema.optional(),
|
|
119
|
+
// Documentation
|
|
120
|
+
doc: z.string().optional(),
|
|
121
|
+
authors: z.array(AuthorSchema).optional(),
|
|
122
|
+
// Testing
|
|
123
|
+
examples: z.array(ToolExampleSchema).optional(),
|
|
124
|
+
})
|
|
125
|
+
.passthrough(); // Allow x-* custom fields
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Complete tool manifest schema (strict - requires hierarchical names)
|
|
129
|
+
*/
|
|
130
|
+
const ToolManifestSchema = createToolManifestSchema(false);
|
|
131
|
+
/**
|
|
132
|
+
* Local tool manifest schema (relaxed - allows simple names)
|
|
133
|
+
*/
|
|
134
|
+
const ToolManifestSchemaLocal = createToolManifestSchema(true);
|
|
119
135
|
// ==================== Validation Functions ====================
|
|
120
136
|
/**
|
|
121
137
|
* Convert Zod error to our ValidationError format
|
|
@@ -201,10 +217,12 @@ function generateWarnings(manifest) {
|
|
|
201
217
|
* Validate a tool manifest
|
|
202
218
|
*
|
|
203
219
|
* @param manifest - The manifest to validate (parsed but unvalidated)
|
|
220
|
+
* @param options - Validation options
|
|
204
221
|
* @returns ValidationResult with valid flag, errors, and warnings
|
|
205
222
|
*/
|
|
206
|
-
export function validateManifest(manifest) {
|
|
207
|
-
const
|
|
223
|
+
export function validateManifest(manifest, options = {}) {
|
|
224
|
+
const schema = options.allowSimpleNames ? ToolManifestSchemaLocal : ToolManifestSchema;
|
|
225
|
+
const result = schema.safeParse(manifest);
|
|
208
226
|
if (!result.success) {
|
|
209
227
|
return {
|
|
210
228
|
valid: false,
|
|
@@ -224,11 +242,12 @@ export function validateManifest(manifest) {
|
|
|
224
242
|
* Throws if validation fails
|
|
225
243
|
*
|
|
226
244
|
* @param manifest - The manifest to validate
|
|
245
|
+
* @param options - Validation options
|
|
227
246
|
* @returns The validated ToolManifest
|
|
228
247
|
* @throws Error if validation fails
|
|
229
248
|
*/
|
|
230
|
-
export function validateManifestStrict(manifest) {
|
|
231
|
-
const result = validateManifest(manifest);
|
|
249
|
+
export function validateManifestStrict(manifest, options = {}) {
|
|
250
|
+
const result = validateManifest(manifest, options);
|
|
232
251
|
if (!result.valid) {
|
|
233
252
|
const errorMessages = result.errors?.map((e) => `${e.path}: ${e.message}`).join(", ");
|
|
234
253
|
throw new Error(`Manifest validation failed: ${errorMessages}`);
|
|
@@ -236,11 +255,17 @@ export function validateManifestStrict(manifest) {
|
|
|
236
255
|
return manifest;
|
|
237
256
|
}
|
|
238
257
|
/**
|
|
239
|
-
* Check if a string is a valid tool name
|
|
258
|
+
* Check if a string is a valid tool name (hierarchical format for publishing)
|
|
240
259
|
*/
|
|
241
260
|
export function isValidToolName(name) {
|
|
242
261
|
return TOOL_NAME_REGEX.test(name);
|
|
243
262
|
}
|
|
263
|
+
/**
|
|
264
|
+
* Check if a string is a valid local tool name (allows simple names)
|
|
265
|
+
*/
|
|
266
|
+
export function isValidLocalToolName(name) {
|
|
267
|
+
return TOOL_NAME_REGEX_LOCAL.test(name);
|
|
268
|
+
}
|
|
244
269
|
/**
|
|
245
270
|
* Check if a string is a valid semver version
|
|
246
271
|
*/
|