@enactprotocol/shared 2.2.2 → 2.3.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.
- package/README.md +1 -18
- package/dist/config.d.ts +12 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +32 -6
- package/dist/config.js.map +1 -1
- package/dist/execution/action-command.d.ts +131 -0
- package/dist/execution/action-command.d.ts.map +1 -0
- package/dist/execution/action-command.js +300 -0
- package/dist/execution/action-command.js.map +1 -0
- package/dist/execution/command.d.ts +8 -8
- package/dist/execution/command.js +6 -6
- package/dist/execution/index.d.ts +1 -0
- package/dist/execution/index.d.ts.map +1 -1
- package/dist/execution/index.js +2 -0
- package/dist/execution/index.js.map +1 -1
- package/dist/execution/types.d.ts +5 -2
- package/dist/execution/types.d.ts.map +1 -1
- package/dist/execution/types.js.map +1 -1
- package/dist/index.d.ts +9 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +14 -5
- package/dist/index.js.map +1 -1
- package/dist/manifest/actions-loader.d.ts +29 -0
- package/dist/manifest/actions-loader.d.ts.map +1 -0
- package/dist/manifest/actions-loader.js +34 -0
- package/dist/manifest/actions-loader.js.map +1 -0
- package/dist/manifest/actions-parser.d.ts +69 -0
- package/dist/manifest/actions-parser.d.ts.map +1 -0
- package/dist/manifest/actions-parser.js +265 -0
- package/dist/manifest/actions-parser.js.map +1 -0
- package/dist/manifest/index.d.ts +2 -0
- package/dist/manifest/index.d.ts.map +1 -1
- package/dist/manifest/index.js +4 -0
- package/dist/manifest/index.js.map +1 -1
- package/dist/manifest/loader.d.ts +7 -2
- package/dist/manifest/loader.d.ts.map +1 -1
- package/dist/manifest/loader.js +71 -4
- package/dist/manifest/loader.js.map +1 -1
- package/dist/manifest/parser.d.ts +1 -0
- package/dist/manifest/parser.d.ts.map +1 -1
- package/dist/manifest/parser.js +1 -0
- package/dist/manifest/parser.js.map +1 -1
- package/dist/manifest/scripts.d.ts +19 -0
- package/dist/manifest/scripts.d.ts.map +1 -0
- package/dist/manifest/scripts.js +102 -0
- package/dist/manifest/scripts.js.map +1 -0
- package/dist/manifest/validator.d.ts +1 -8
- package/dist/manifest/validator.d.ts.map +1 -1
- package/dist/manifest/validator.js +14 -13
- package/dist/manifest/validator.js.map +1 -1
- package/dist/mcp-registry.js +5 -5
- package/dist/mcp-registry.js.map +1 -1
- package/dist/paths.d.ts +9 -2
- package/dist/paths.d.ts.map +1 -1
- package/dist/paths.js +12 -3
- package/dist/paths.js.map +1 -1
- package/dist/registry.d.ts +47 -2
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +100 -7
- package/dist/registry.js.map +1 -1
- package/dist/resolver.d.ts +55 -4
- package/dist/resolver.d.ts.map +1 -1
- package/dist/resolver.js +144 -77
- package/dist/resolver.js.map +1 -1
- package/dist/types/actions.d.ts +194 -0
- package/dist/types/actions.d.ts.map +1 -0
- package/dist/types/actions.js +32 -0
- package/dist/types/actions.js.map +1 -0
- package/dist/types/index.d.ts +3 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +1 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/manifest.d.ts +50 -5
- package/dist/types/manifest.d.ts.map +1 -1
- package/dist/types/manifest.js +10 -2
- package/dist/types/manifest.js.map +1 -1
- package/package.json +2 -2
- package/src/config.ts +48 -6
- package/src/execution/action-command.ts +417 -0
- package/src/execution/command.ts +8 -8
- package/src/execution/index.ts +17 -0
- package/src/execution/types.ts +13 -2
- package/src/index.ts +43 -0
- package/src/manifest/actions-loader.ts +49 -0
- package/src/manifest/index.ts +12 -0
- package/src/manifest/loader.ts +77 -4
- package/src/manifest/parser.ts +1 -0
- package/src/manifest/scripts.ts +116 -0
- package/src/manifest/validator.ts +15 -14
- package/src/mcp-registry.ts +5 -5
- package/src/paths.ts +13 -3
- package/src/registry.ts +136 -7
- package/src/resolver.ts +185 -79
- package/src/types/actions.ts +223 -0
- package/src/types/index.ts +11 -0
- package/src/types/manifest.ts +67 -6
- package/tests/action-command.test.ts +249 -0
- package/tests/config-normalization.test.ts +279 -0
- package/tests/config.test.ts +4 -1
- package/tests/effective-input-schema.test.ts +86 -0
- package/tests/fixtures/valid-tool.md +5 -12
- package/tests/fixtures/valid-tool.yaml +3 -10
- package/tests/hooks.test.ts +177 -0
- package/tests/manifest/loader.test.ts +34 -20
- package/tests/manifest/parser.test.ts +11 -15
- package/tests/manifest/validator.test.ts +7 -17
- package/tests/manifest-types.test.ts +9 -11
- package/tests/paths.test.ts +11 -4
- package/tests/registry.test.ts +204 -8
- package/tests/resolver.test.ts +90 -6
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -18,14 +18,6 @@ declare const ToolManifestSchema: z.ZodObject<{
|
|
|
18
18
|
timeout: z.ZodOptional<z.ZodString>;
|
|
19
19
|
license: z.ZodOptional<z.ZodString>;
|
|
20
20
|
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
21
|
-
inputSchema: z.ZodOptional<z.ZodObject<{
|
|
22
|
-
type: z.ZodOptional<z.ZodString>;
|
|
23
|
-
properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
24
|
-
required: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
25
|
-
items: z.ZodOptional<z.ZodUnknown>;
|
|
26
|
-
enum: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
|
|
27
|
-
description: z.ZodOptional<z.ZodString>;
|
|
28
|
-
}, z.core.$loose>>;
|
|
29
21
|
outputSchema: z.ZodOptional<z.ZodObject<{
|
|
30
22
|
type: z.ZodOptional<z.ZodString>;
|
|
31
23
|
properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
@@ -37,6 +29,7 @@ declare const ToolManifestSchema: z.ZodObject<{
|
|
|
37
29
|
env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
38
30
|
description: z.ZodString;
|
|
39
31
|
secret: z.ZodOptional<z.ZodBoolean>;
|
|
32
|
+
required: z.ZodOptional<z.ZodBoolean>;
|
|
40
33
|
default: z.ZodOptional<z.ZodString>;
|
|
41
34
|
}, z.core.$strip>>>;
|
|
42
35
|
annotations: z.ZodOptional<z.ZodObject<{
|
|
@@ -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;AAwJ3B;;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"}
|
|
@@ -11,6 +11,7 @@ import { z } from "zod/v4";
|
|
|
11
11
|
const EnvVariableSchema = z.object({
|
|
12
12
|
description: z.string().min(1, "Description is required"),
|
|
13
13
|
secret: z.boolean().optional(),
|
|
14
|
+
required: z.boolean().optional(),
|
|
14
15
|
default: z.string().optional(),
|
|
15
16
|
});
|
|
16
17
|
/**
|
|
@@ -66,14 +67,15 @@ const JsonSchemaSchema = z
|
|
|
66
67
|
*/
|
|
67
68
|
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
69
|
/**
|
|
69
|
-
* Tool name regex -
|
|
70
|
+
* Tool name regex - @scope/name format (required for publishing)
|
|
71
|
+
* Exactly 2 segments with optional @ prefix: "org/tool" or "@org/tool"
|
|
70
72
|
*/
|
|
71
|
-
const TOOL_NAME_REGEX =
|
|
73
|
+
const TOOL_NAME_REGEX = /^@?[a-z0-9_-]+\/[a-z0-9_-]+$/;
|
|
72
74
|
/**
|
|
73
75
|
* Tool name regex - simple format (allowed for local tools)
|
|
74
|
-
* Allows
|
|
76
|
+
* Allows simple names ("my-tool") or scope/name ("org/tool", "@org/tool")
|
|
75
77
|
*/
|
|
76
|
-
const TOOL_NAME_REGEX_LOCAL =
|
|
78
|
+
const TOOL_NAME_REGEX_LOCAL = /^@?[a-z0-9_-]+(?:\/[a-z0-9_-]+)?$/;
|
|
77
79
|
/**
|
|
78
80
|
* Go duration regex (used for timeout)
|
|
79
81
|
*/
|
|
@@ -85,7 +87,7 @@ function createToolManifestSchema(allowSimpleNames) {
|
|
|
85
87
|
const nameRegex = allowSimpleNames ? TOOL_NAME_REGEX_LOCAL : TOOL_NAME_REGEX;
|
|
86
88
|
const nameMessage = allowSimpleNames
|
|
87
89
|
? "Tool name must contain only lowercase letters, numbers, hyphens, and underscores"
|
|
88
|
-
: "Tool name must be
|
|
90
|
+
: "Tool name must be scope/name format (e.g., 'org/tool' or '@org/tool')";
|
|
89
91
|
return z
|
|
90
92
|
.object({
|
|
91
93
|
// Required fields
|
|
@@ -109,7 +111,6 @@ function createToolManifestSchema(allowSimpleNames) {
|
|
|
109
111
|
license: z.string().optional(),
|
|
110
112
|
tags: z.array(z.string()).optional(),
|
|
111
113
|
// Schema fields
|
|
112
|
-
inputSchema: JsonSchemaSchema.optional(),
|
|
113
114
|
outputSchema: JsonSchemaSchema.optional(),
|
|
114
115
|
// Environment variables
|
|
115
116
|
env: z.record(z.string(), EnvVariableSchema).optional(),
|
|
@@ -184,13 +185,6 @@ function generateWarnings(manifest) {
|
|
|
184
185
|
code: "MISSING_RECOMMENDED",
|
|
185
186
|
});
|
|
186
187
|
}
|
|
187
|
-
if (!manifest.inputSchema && manifest.command) {
|
|
188
|
-
warnings.push({
|
|
189
|
-
path: "inputSchema",
|
|
190
|
-
message: "Input schema is recommended for tools with parameters",
|
|
191
|
-
code: "MISSING_RECOMMENDED",
|
|
192
|
-
});
|
|
193
|
-
}
|
|
194
188
|
if (!manifest.outputSchema) {
|
|
195
189
|
warnings.push({
|
|
196
190
|
path: "outputSchema",
|
|
@@ -208,6 +202,13 @@ function generateWarnings(manifest) {
|
|
|
208
202
|
code: "SECRET_WITH_DEFAULT",
|
|
209
203
|
});
|
|
210
204
|
}
|
|
205
|
+
if (value.required && value.default !== undefined) {
|
|
206
|
+
warnings.push({
|
|
207
|
+
path: `env.${key}`,
|
|
208
|
+
message: "Required variables with a default value are always satisfied — 'required' has no effect",
|
|
209
|
+
code: "REQUIRED_WITH_DEFAULT",
|
|
210
|
+
});
|
|
211
|
+
}
|
|
211
212
|
}
|
|
212
213
|
}
|
|
213
214
|
// Check for timeout on command tools
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/manifest/validator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAQ3B,wDAAwD;AAExD;;GAEG;AACH,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,yBAAyB,CAAC;IACzD,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC9B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC/B,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,yBAAyB,CAAC;IAClD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;IACpC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACpC,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACvC,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACtC,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CACtC,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC5B,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;IACnD,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC9B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACnC,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,gBAAgB,GAAG,CAAC;KACvB,MAAM,CAAC;IACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;IACxD,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACxC,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC7B,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;IACrC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACnC,CAAC;KACD,WAAW,EAAE,CAAC,CAAC,sCAAsC;AAExD;;GAEG;AACH,MAAM,YAAY,GAChB,qLAAqL,CAAC;AAExL
|
|
1
|
+
{"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/manifest/validator.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp-registry.js
CHANGED
|
@@ -95,12 +95,12 @@ export function getMcpToolVersion(toolName) {
|
|
|
95
95
|
return registry.tools[toolName] ?? null;
|
|
96
96
|
}
|
|
97
97
|
/**
|
|
98
|
-
* Get the
|
|
98
|
+
* Get the install path for an MCP tool
|
|
99
|
+
* Skills are stored at ~/.agent/skills/{name}/ (flat, no version subdirectory)
|
|
99
100
|
*/
|
|
100
|
-
function getMcpToolCachePath(toolName,
|
|
101
|
-
const
|
|
102
|
-
|
|
103
|
-
return join(cacheDir, toolName, `v${normalizedVersion}`);
|
|
101
|
+
function getMcpToolCachePath(toolName, _version) {
|
|
102
|
+
const skillsDir = getCacheDir();
|
|
103
|
+
return join(skillsDir, toolName);
|
|
104
104
|
}
|
|
105
105
|
/**
|
|
106
106
|
* List all tools that should be exposed to MCP clients
|
package/dist/mcp-registry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-registry.js","sourceRoot":"","sources":["../src/mcp-registry.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"mcp-registry.js","sourceRoot":"","sources":["../src/mcp-registry.ts"],"names":[],"mappings":"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"}
|
package/dist/paths.d.ts
CHANGED
|
@@ -34,8 +34,15 @@ export declare function getProjectEnactDir(startDir?: string): string | null;
|
|
|
34
34
|
*/
|
|
35
35
|
export declare function getToolsDir(scope: ToolScope, startDir?: string): string | null;
|
|
36
36
|
/**
|
|
37
|
-
* Get the
|
|
38
|
-
*
|
|
37
|
+
* Get the skills directory (~/.agent/skills/)
|
|
38
|
+
* This is the standard Agent Skills location for installed skills.
|
|
39
|
+
* @returns Absolute path to ~/.agent/skills/
|
|
40
|
+
*/
|
|
41
|
+
export declare function getSkillsDir(): string;
|
|
42
|
+
/**
|
|
43
|
+
* Get the cache directory (~/.agent/skills/)
|
|
44
|
+
* @deprecated Use getSkillsDir() instead
|
|
45
|
+
* @returns Absolute path to ~/.agent/skills/
|
|
39
46
|
*/
|
|
40
47
|
export declare function getCacheDir(): string;
|
|
41
48
|
/**
|
package/dist/paths.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC;AAE3C;;;GAGG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAoBnE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAS9E;AAED
|
|
1
|
+
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC;AAE3C;;;GAGG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAoBnE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAS9E;AAED;;;;GAIG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED;;;;GAIG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAEpC;AAED;;;GAGG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGlE"}
|
package/dist/paths.js
CHANGED
|
@@ -61,11 +61,20 @@ export function getToolsDir(scope, startDir) {
|
|
|
61
61
|
return projectDir ? join(projectDir, "tools") : null;
|
|
62
62
|
}
|
|
63
63
|
/**
|
|
64
|
-
* Get the
|
|
65
|
-
*
|
|
64
|
+
* Get the skills directory (~/.agent/skills/)
|
|
65
|
+
* This is the standard Agent Skills location for installed skills.
|
|
66
|
+
* @returns Absolute path to ~/.agent/skills/
|
|
67
|
+
*/
|
|
68
|
+
export function getSkillsDir() {
|
|
69
|
+
return join(homedir(), ".agent", "skills");
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Get the cache directory (~/.agent/skills/)
|
|
73
|
+
* @deprecated Use getSkillsDir() instead
|
|
74
|
+
* @returns Absolute path to ~/.agent/skills/
|
|
66
75
|
*/
|
|
67
76
|
export function getCacheDir() {
|
|
68
|
-
return
|
|
77
|
+
return getSkillsDir();
|
|
69
78
|
}
|
|
70
79
|
/**
|
|
71
80
|
* Get the configuration file path (~/.enact/config.yaml)
|
package/dist/paths.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAO1C;;;GAGG;AACH,MAAM,UAAU,YAAY;IAC1B,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;AACnC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,QAAiB;IAClD,IAAI,UAAU,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC1B,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IAEjC,6CAA6C;IAC7C,OAAO,UAAU,KAAK,IAAI,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAC5C,mEAAmE;QACnE,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YACnD,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAC5C,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;YAC7B,MAAM,CAAC,eAAe;QACxB,CAAC;QACD,UAAU,GAAG,SAAS,CAAC;IACzB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,WAAW,CAAC,KAAgB,EAAE,QAAiB;IAC7D,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QACrB,sDAAsD;QACtD,gEAAgE;QAChE,OAAO,IAAI,CAAC,YAAY,EAAE,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,UAAU,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAChD,OAAO,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACvD,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAO1C;;;GAGG;AACH,MAAM,UAAU,YAAY;IAC1B,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;AACnC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,QAAiB;IAClD,IAAI,UAAU,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC1B,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IAEjC,6CAA6C;IAC7C,OAAO,UAAU,KAAK,IAAI,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAC5C,mEAAmE;QACnE,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YACnD,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAC5C,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;YAC7B,MAAM,CAAC,eAAe;QACxB,CAAC;QACD,UAAU,GAAG,SAAS,CAAC;IACzB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,WAAW,CAAC,KAAgB,EAAE,QAAiB;IAC7D,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QACrB,sDAAsD;QACtD,gEAAgE;QAChE,OAAO,IAAI,CAAC,YAAY,EAAE,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,UAAU,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAChD,OAAO,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACvD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY;IAC1B,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAC7C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW;IACzB,OAAO,YAAY,EAAE,CAAC;AACxB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO,IAAI,CAAC,YAAY,EAAE,EAAE,aAAa,CAAC,CAAC;AAC7C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO,IAAI,CAAC,YAAY,EAAE,EAAE,MAAM,CAAC,CAAC;AACtC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAAiB;IACjD,MAAM,UAAU,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAChD,OAAO,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACtD,CAAC"}
|
package/dist/registry.d.ts
CHANGED
|
@@ -14,6 +14,8 @@
|
|
|
14
14
|
export interface ToolsRegistry {
|
|
15
15
|
/** Map of tool name to installed version */
|
|
16
16
|
tools: Record<string, string>;
|
|
17
|
+
/** Map of alias to full tool name */
|
|
18
|
+
aliases?: Record<string, string>;
|
|
17
19
|
}
|
|
18
20
|
/**
|
|
19
21
|
* Scope for tool registry
|
|
@@ -59,9 +61,10 @@ export declare function isToolInstalled(toolName: string, scope: RegistryScope,
|
|
|
59
61
|
*/
|
|
60
62
|
export declare function getInstalledVersion(toolName: string, scope: RegistryScope, startDir?: string): string | null;
|
|
61
63
|
/**
|
|
62
|
-
* Get the
|
|
64
|
+
* Get the install path for a skill
|
|
65
|
+
* Skills are stored at ~/.agent/skills/{name}/ (flat, no version subdirectory)
|
|
63
66
|
*/
|
|
64
|
-
export declare function getToolCachePath(toolName: string,
|
|
67
|
+
export declare function getToolCachePath(toolName: string, _version: string): string;
|
|
65
68
|
/**
|
|
66
69
|
* List all installed tools in a registry
|
|
67
70
|
*/
|
|
@@ -70,4 +73,46 @@ export declare function listInstalledTools(scope: RegistryScope, startDir?: stri
|
|
|
70
73
|
* Get tool info if installed (checks cache path exists)
|
|
71
74
|
*/
|
|
72
75
|
export declare function getInstalledToolInfo(toolName: string, scope: RegistryScope, startDir?: string): InstalledToolInfo | null;
|
|
76
|
+
/**
|
|
77
|
+
* Add an alias for a tool
|
|
78
|
+
* @param alias - Short name for the tool (e.g., "firebase")
|
|
79
|
+
* @param toolName - Full tool name (e.g., "user/api/firebase")
|
|
80
|
+
* @param scope - Registry scope (global or project)
|
|
81
|
+
* @param startDir - Starting directory for project scope
|
|
82
|
+
* @throws Error if alias already exists for a different tool
|
|
83
|
+
*/
|
|
84
|
+
export declare function addAlias(alias: string, toolName: string, scope: RegistryScope, startDir?: string): void;
|
|
85
|
+
/**
|
|
86
|
+
* Remove an alias
|
|
87
|
+
* @param alias - Alias to remove
|
|
88
|
+
* @param scope - Registry scope
|
|
89
|
+
* @param startDir - Starting directory for project scope
|
|
90
|
+
* @returns true if alias was removed, false if it didn't exist
|
|
91
|
+
*/
|
|
92
|
+
export declare function removeAlias(alias: string, scope: RegistryScope, startDir?: string): boolean;
|
|
93
|
+
/**
|
|
94
|
+
* Resolve an alias to its full tool name
|
|
95
|
+
* @param alias - Alias to resolve
|
|
96
|
+
* @param scope - Registry scope
|
|
97
|
+
* @param startDir - Starting directory for project scope
|
|
98
|
+
* @returns Full tool name or null if alias doesn't exist
|
|
99
|
+
*/
|
|
100
|
+
export declare function resolveAlias(alias: string, scope: RegistryScope, startDir?: string): string | null;
|
|
101
|
+
/**
|
|
102
|
+
* Get all aliases for a specific tool
|
|
103
|
+
* @param toolName - Full tool name
|
|
104
|
+
* @param scope - Registry scope
|
|
105
|
+
* @param startDir - Starting directory for project scope
|
|
106
|
+
* @returns Array of aliases for the tool
|
|
107
|
+
*/
|
|
108
|
+
export declare function getAliasesForTool(toolName: string, scope: RegistryScope, startDir?: string): string[];
|
|
109
|
+
/**
|
|
110
|
+
* Remove all aliases for a specific tool
|
|
111
|
+
* Useful when uninstalling a tool
|
|
112
|
+
* @param toolName - Full tool name
|
|
113
|
+
* @param scope - Registry scope
|
|
114
|
+
* @param startDir - Starting directory for project scope
|
|
115
|
+
* @returns Number of aliases removed
|
|
116
|
+
*/
|
|
117
|
+
export declare function removeAliasesForTool(toolName: string, scope: RegistryScope, startDir?: string): number;
|
|
73
118
|
//# sourceMappingURL=registry.d.ts.map
|
package/dist/registry.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
|
package/dist/registry.js
CHANGED
|
@@ -28,18 +28,19 @@ export function getToolsJsonPath(scope, startDir) {
|
|
|
28
28
|
export function loadToolsRegistry(scope, startDir) {
|
|
29
29
|
const registryPath = getToolsJsonPath(scope, startDir);
|
|
30
30
|
if (!registryPath || !existsSync(registryPath)) {
|
|
31
|
-
return { tools: {} };
|
|
31
|
+
return { tools: {}, aliases: {} };
|
|
32
32
|
}
|
|
33
33
|
try {
|
|
34
34
|
const content = readFileSync(registryPath, "utf-8");
|
|
35
35
|
const parsed = JSON.parse(content);
|
|
36
36
|
return {
|
|
37
37
|
tools: parsed.tools ?? {},
|
|
38
|
+
aliases: parsed.aliases ?? {},
|
|
38
39
|
};
|
|
39
40
|
}
|
|
40
41
|
catch {
|
|
41
42
|
// Return empty registry on parse error
|
|
42
|
-
return { tools: {} };
|
|
43
|
+
return { tools: {}, aliases: {} };
|
|
43
44
|
}
|
|
44
45
|
}
|
|
45
46
|
/**
|
|
@@ -101,12 +102,12 @@ export function getInstalledVersion(toolName, scope, startDir) {
|
|
|
101
102
|
return registry.tools[toolName] ?? null;
|
|
102
103
|
}
|
|
103
104
|
/**
|
|
104
|
-
* Get the
|
|
105
|
+
* Get the install path for a skill
|
|
106
|
+
* Skills are stored at ~/.agent/skills/{name}/ (flat, no version subdirectory)
|
|
105
107
|
*/
|
|
106
|
-
export function getToolCachePath(toolName,
|
|
107
|
-
const
|
|
108
|
-
|
|
109
|
-
return join(cacheDir, toolName, `v${normalizedVersion}`);
|
|
108
|
+
export function getToolCachePath(toolName, _version) {
|
|
109
|
+
const skillsDir = getCacheDir();
|
|
110
|
+
return join(skillsDir, toolName);
|
|
110
111
|
}
|
|
111
112
|
/**
|
|
112
113
|
* List all installed tools in a registry
|
|
@@ -144,4 +145,96 @@ export function getInstalledToolInfo(toolName, scope, startDir) {
|
|
|
144
145
|
cachePath,
|
|
145
146
|
};
|
|
146
147
|
}
|
|
148
|
+
/**
|
|
149
|
+
* Add an alias for a tool
|
|
150
|
+
* @param alias - Short name for the tool (e.g., "firebase")
|
|
151
|
+
* @param toolName - Full tool name (e.g., "user/api/firebase")
|
|
152
|
+
* @param scope - Registry scope (global or project)
|
|
153
|
+
* @param startDir - Starting directory for project scope
|
|
154
|
+
* @throws Error if alias already exists for a different tool
|
|
155
|
+
*/
|
|
156
|
+
export function addAlias(alias, toolName, scope, startDir) {
|
|
157
|
+
const registry = loadToolsRegistry(scope, startDir);
|
|
158
|
+
// Initialize aliases if not present
|
|
159
|
+
if (!registry.aliases) {
|
|
160
|
+
registry.aliases = {};
|
|
161
|
+
}
|
|
162
|
+
// Check if alias already exists for a different tool
|
|
163
|
+
const existingTarget = registry.aliases[alias];
|
|
164
|
+
if (existingTarget && existingTarget !== toolName) {
|
|
165
|
+
throw new Error(`Alias "${alias}" already exists for tool "${existingTarget}". Remove it first with 'enact alias --remove ${alias}'.`);
|
|
166
|
+
}
|
|
167
|
+
registry.aliases[alias] = toolName;
|
|
168
|
+
saveToolsRegistry(registry, scope, startDir);
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Remove an alias
|
|
172
|
+
* @param alias - Alias to remove
|
|
173
|
+
* @param scope - Registry scope
|
|
174
|
+
* @param startDir - Starting directory for project scope
|
|
175
|
+
* @returns true if alias was removed, false if it didn't exist
|
|
176
|
+
*/
|
|
177
|
+
export function removeAlias(alias, scope, startDir) {
|
|
178
|
+
const registry = loadToolsRegistry(scope, startDir);
|
|
179
|
+
if (!registry.aliases || !(alias in registry.aliases)) {
|
|
180
|
+
return false;
|
|
181
|
+
}
|
|
182
|
+
delete registry.aliases[alias];
|
|
183
|
+
saveToolsRegistry(registry, scope, startDir);
|
|
184
|
+
return true;
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Resolve an alias to its full tool name
|
|
188
|
+
* @param alias - Alias to resolve
|
|
189
|
+
* @param scope - Registry scope
|
|
190
|
+
* @param startDir - Starting directory for project scope
|
|
191
|
+
* @returns Full tool name or null if alias doesn't exist
|
|
192
|
+
*/
|
|
193
|
+
export function resolveAlias(alias, scope, startDir) {
|
|
194
|
+
const registry = loadToolsRegistry(scope, startDir);
|
|
195
|
+
return registry.aliases?.[alias] ?? null;
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Get all aliases for a specific tool
|
|
199
|
+
* @param toolName - Full tool name
|
|
200
|
+
* @param scope - Registry scope
|
|
201
|
+
* @param startDir - Starting directory for project scope
|
|
202
|
+
* @returns Array of aliases for the tool
|
|
203
|
+
*/
|
|
204
|
+
export function getAliasesForTool(toolName, scope, startDir) {
|
|
205
|
+
const registry = loadToolsRegistry(scope, startDir);
|
|
206
|
+
const aliases = [];
|
|
207
|
+
if (registry.aliases) {
|
|
208
|
+
for (const [alias, target] of Object.entries(registry.aliases)) {
|
|
209
|
+
if (target === toolName) {
|
|
210
|
+
aliases.push(alias);
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
return aliases;
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Remove all aliases for a specific tool
|
|
218
|
+
* Useful when uninstalling a tool
|
|
219
|
+
* @param toolName - Full tool name
|
|
220
|
+
* @param scope - Registry scope
|
|
221
|
+
* @param startDir - Starting directory for project scope
|
|
222
|
+
* @returns Number of aliases removed
|
|
223
|
+
*/
|
|
224
|
+
export function removeAliasesForTool(toolName, scope, startDir) {
|
|
225
|
+
const registry = loadToolsRegistry(scope, startDir);
|
|
226
|
+
let removed = 0;
|
|
227
|
+
if (registry.aliases) {
|
|
228
|
+
for (const [alias, target] of Object.entries(registry.aliases)) {
|
|
229
|
+
if (target === toolName) {
|
|
230
|
+
delete registry.aliases[alias];
|
|
231
|
+
removed++;
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
if (removed > 0) {
|
|
235
|
+
saveToolsRegistry(registry, scope, startDir);
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
return removed;
|
|
239
|
+
}
|
|
147
240
|
//# sourceMappingURL=registry.js.map
|
package/dist/registry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
|
package/dist/resolver.d.ts
CHANGED
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
* Resolution order:
|
|
5
5
|
* 1. Direct file path (if provided path exists)
|
|
6
6
|
* 2. Project tools (.enact/tools/{name}/)
|
|
7
|
-
* 3. Global tools (via ~/.enact/tools.json →
|
|
8
|
-
* 4.
|
|
7
|
+
* 3. Global tools (via ~/.enact/tools.json → ~/.agent/skills/)
|
|
8
|
+
* 4. Skills directory (~/.agent/skills/{name}/)
|
|
9
9
|
*/
|
|
10
10
|
import type { ToolResolution } from "./types/manifest";
|
|
11
11
|
/**
|
|
@@ -46,9 +46,38 @@ export interface ResolveOptions {
|
|
|
46
46
|
/** Skip cached tools */
|
|
47
47
|
skipCache?: boolean;
|
|
48
48
|
}
|
|
49
|
+
/**
|
|
50
|
+
* Result of parsing an action specifier
|
|
51
|
+
*/
|
|
52
|
+
export interface ParsedActionSpecifier {
|
|
53
|
+
/** The skill name (e.g., "owner/skill" from "owner/skill:action") */
|
|
54
|
+
skillName: string;
|
|
55
|
+
/** The action name (e.g., "action" from "owner/skill:action"), or undefined if not specified */
|
|
56
|
+
actionName?: string;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Parse an action specifier into skill name and action name
|
|
60
|
+
*
|
|
61
|
+
* Specifier formats (uses colon separator):
|
|
62
|
+
* - "owner/skill" - skill only, no action
|
|
63
|
+
* - "owner/skill:action" - skill with action
|
|
64
|
+
* - "./path" or "/path" - file path (no action parsing)
|
|
65
|
+
* - "./path:action" - file path with action
|
|
66
|
+
*
|
|
67
|
+
* Examples:
|
|
68
|
+
* - "mendable/firecrawl" → skill="mendable/firecrawl", action=undefined
|
|
69
|
+
* - "mendable/firecrawl:scrape" → skill="mendable/firecrawl", action="scrape"
|
|
70
|
+
* - "acme/tools/greeter:hello" → skill="acme/tools/greeter", action="hello"
|
|
71
|
+
* - "/tmp/skill" → skill="/tmp/skill", action=undefined (file path)
|
|
72
|
+
* - "./skill:hello" → skill="./skill", action="hello" (file path with action)
|
|
73
|
+
*
|
|
74
|
+
* @param specifier - The tool/action specifier string
|
|
75
|
+
* @returns Parsed skill name and optional action name
|
|
76
|
+
*/
|
|
77
|
+
export declare function parseActionSpecifier(specifier: string): ParsedActionSpecifier;
|
|
49
78
|
/**
|
|
50
79
|
* Convert tool name to directory path
|
|
51
|
-
*
|
|
80
|
+
* Strips the @ prefix for disk paths: "@org/my-skill" -> "org/my-skill"
|
|
52
81
|
*/
|
|
53
82
|
export declare function toolNameToPath(name: string): string;
|
|
54
83
|
/**
|
|
@@ -70,10 +99,32 @@ export declare function getToolPath(toolsDir: string, toolName: string): string;
|
|
|
70
99
|
* @throws ToolResolveError if not found
|
|
71
100
|
*/
|
|
72
101
|
export declare function resolveToolFromPath(filePath: string): ToolResolution;
|
|
102
|
+
/**
|
|
103
|
+
* Resolve a specific action from a tool/skill
|
|
104
|
+
*
|
|
105
|
+
* @param resolution - Already resolved tool
|
|
106
|
+
* @param actionName - Name of the action to resolve
|
|
107
|
+
* @returns ToolResolution with action field populated
|
|
108
|
+
* @throws ToolResolveError if action not found
|
|
109
|
+
*/
|
|
110
|
+
export declare function resolveAction(resolution: ToolResolution, actionName: string): ToolResolution;
|
|
111
|
+
/**
|
|
112
|
+
* Resolve a tool with optional action specifier
|
|
113
|
+
*
|
|
114
|
+
* Supports formats:
|
|
115
|
+
* - "owner/skill" - resolves skill only
|
|
116
|
+
* - "owner/skill:action" - resolves skill and specific action
|
|
117
|
+
*
|
|
118
|
+
* @param specifier - Tool/action specifier (e.g., "mendable/firecrawl:scrape")
|
|
119
|
+
* @param options - Resolution options
|
|
120
|
+
* @returns ToolResolution with action populated if specified
|
|
121
|
+
* @throws ToolResolveError if not found
|
|
122
|
+
*/
|
|
123
|
+
export declare function resolveToolWithAction(specifier: string, options?: ResolveOptions): ToolResolution;
|
|
73
124
|
/**
|
|
74
125
|
* Resolve a tool by name, searching through standard locations
|
|
75
126
|
*
|
|
76
|
-
* @param toolName - Tool name (e.g., "acme/
|
|
127
|
+
* @param toolName - Tool name (e.g., "acme/greeter" or "@acme/greeter") or alias (e.g., "firebase")
|
|
77
128
|
* @param options - Resolution options
|
|
78
129
|
* @returns ToolResolution
|
|
79
130
|
* @throws ToolResolveError if not found
|
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;AAcH,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;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,qEAAqE;IACrE,SAAS,EAAE,MAAM,CAAC;IAClB,gGAAgG;IAChG,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,qBAAqB,CA2B7E;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnD;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;AA6CD;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,CA2CpE;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,GAAG,cAAc,CA0B5F;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,cAAmB,GAC3B,cAAc,CAahB;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,cAAc,CA6D1F;AAED;;;;;;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"}
|