@enactprotocol/shared 2.2.4 → 2.3.4
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 +8 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -4
- 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 +3 -2
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +5 -5
- 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 +133 -75
- 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 +37 -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 +5 -5
- package/src/resolver.ts +172 -77
- 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 +12 -11
- package/tests/resolver.test.ts +11 -7
- package/tsconfig.tsbuildinfo +1 -1
package/dist/resolver.js
CHANGED
|
@@ -4,13 +4,14 @@
|
|
|
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
|
-
import { existsSync
|
|
10
|
+
import { existsSync } from "node:fs";
|
|
11
11
|
import { dirname, isAbsolute, join, resolve } from "node:path";
|
|
12
|
-
import { ManifestLoadError, findManifestFile, loadManifest, } from "./manifest/loader";
|
|
13
|
-
import {
|
|
12
|
+
import { ManifestLoadError, findManifestFile, loadManifest, loadManifestFromDir, } from "./manifest/loader";
|
|
13
|
+
import { manifestScriptsToActionsManifest } from "./manifest/scripts";
|
|
14
|
+
import { getProjectEnactDir, getSkillsDir } from "./paths";
|
|
14
15
|
import { getInstalledVersion, getToolCachePath, resolveAlias } from "./registry";
|
|
15
16
|
/**
|
|
16
17
|
* Error thrown when tool resolution fails
|
|
@@ -25,13 +26,53 @@ export class ToolResolveError extends Error {
|
|
|
25
26
|
this.name = "ToolResolveError";
|
|
26
27
|
}
|
|
27
28
|
}
|
|
29
|
+
/**
|
|
30
|
+
* Parse an action specifier into skill name and action name
|
|
31
|
+
*
|
|
32
|
+
* Specifier formats (uses colon separator):
|
|
33
|
+
* - "owner/skill" - skill only, no action
|
|
34
|
+
* - "owner/skill:action" - skill with action
|
|
35
|
+
* - "./path" or "/path" - file path (no action parsing)
|
|
36
|
+
* - "./path:action" - file path with action
|
|
37
|
+
*
|
|
38
|
+
* Examples:
|
|
39
|
+
* - "mendable/firecrawl" → skill="mendable/firecrawl", action=undefined
|
|
40
|
+
* - "mendable/firecrawl:scrape" → skill="mendable/firecrawl", action="scrape"
|
|
41
|
+
* - "acme/tools/greeter:hello" → skill="acme/tools/greeter", action="hello"
|
|
42
|
+
* - "/tmp/skill" → skill="/tmp/skill", action=undefined (file path)
|
|
43
|
+
* - "./skill:hello" → skill="./skill", action="hello" (file path with action)
|
|
44
|
+
*
|
|
45
|
+
* @param specifier - The tool/action specifier string
|
|
46
|
+
* @returns Parsed skill name and optional action name
|
|
47
|
+
*/
|
|
48
|
+
export function parseActionSpecifier(specifier) {
|
|
49
|
+
const normalized = specifier.replace(/\\/g, "/").trim();
|
|
50
|
+
// Check for colon separator (action specifier)
|
|
51
|
+
const colonIndex = normalized.lastIndexOf(":");
|
|
52
|
+
// No colon - just a skill name or file path
|
|
53
|
+
if (colonIndex === -1) {
|
|
54
|
+
return { skillName: normalized };
|
|
55
|
+
}
|
|
56
|
+
// Windows drive letter check (e.g., "C:/path")
|
|
57
|
+
// If colon is at index 1 and followed by /, it's a Windows path
|
|
58
|
+
if (colonIndex === 1 && normalized.length > 2 && normalized[2] === "/") {
|
|
59
|
+
return { skillName: normalized };
|
|
60
|
+
}
|
|
61
|
+
// Split on colon
|
|
62
|
+
const skillName = normalized.slice(0, colonIndex);
|
|
63
|
+
const actionName = normalized.slice(colonIndex + 1);
|
|
64
|
+
// Validate action name is non-empty
|
|
65
|
+
if (!actionName || actionName.length === 0) {
|
|
66
|
+
return { skillName: normalized };
|
|
67
|
+
}
|
|
68
|
+
return { skillName, actionName };
|
|
69
|
+
}
|
|
28
70
|
/**
|
|
29
71
|
* Convert tool name to directory path
|
|
30
|
-
*
|
|
72
|
+
* Strips the @ prefix for disk paths: "@org/my-skill" -> "org/my-skill"
|
|
31
73
|
*/
|
|
32
74
|
export function toolNameToPath(name) {
|
|
33
|
-
|
|
34
|
-
return name.replace(/\\/g, "/");
|
|
75
|
+
return name.replace(/^@/, "").replace(/\\/g, "/");
|
|
35
76
|
}
|
|
36
77
|
/**
|
|
37
78
|
* Normalize a tool name (lowercase, forward slashes)
|
|
@@ -48,6 +89,8 @@ export function getToolPath(toolsDir, toolName) {
|
|
|
48
89
|
/**
|
|
49
90
|
* Try to load a tool from a specific directory
|
|
50
91
|
*
|
|
92
|
+
* Supports two-file model (skill.yaml + SKILL.md) via loadManifestFromDir().
|
|
93
|
+
*
|
|
51
94
|
* @param dir - Directory to check
|
|
52
95
|
* @param location - The location type for metadata
|
|
53
96
|
* @param options - Options for loading the manifest
|
|
@@ -57,22 +100,24 @@ function tryLoadFromDir(dir, location, options = {}) {
|
|
|
57
100
|
if (!existsSync(dir)) {
|
|
58
101
|
return null;
|
|
59
102
|
}
|
|
60
|
-
const manifestPath = findManifestFile(dir);
|
|
61
|
-
if (!manifestPath) {
|
|
62
|
-
return null;
|
|
63
|
-
}
|
|
64
103
|
try {
|
|
65
|
-
const loaded =
|
|
66
|
-
|
|
104
|
+
const loaded = loadManifestFromDir(dir, options);
|
|
105
|
+
const resolution = {
|
|
67
106
|
manifest: loaded.manifest,
|
|
68
107
|
sourceDir: dir,
|
|
69
108
|
location,
|
|
70
|
-
manifestPath,
|
|
109
|
+
manifestPath: loaded.filePath,
|
|
71
110
|
version: loaded.manifest.version,
|
|
72
111
|
};
|
|
112
|
+
// Convert inline scripts to actionsManifest
|
|
113
|
+
const scriptsManifest = manifestScriptsToActionsManifest(loaded.manifest);
|
|
114
|
+
if (scriptsManifest) {
|
|
115
|
+
resolution.actionsManifest = scriptsManifest;
|
|
116
|
+
}
|
|
117
|
+
return resolution;
|
|
73
118
|
}
|
|
74
119
|
catch {
|
|
75
|
-
//
|
|
120
|
+
// No manifest or invalid manifest, skip
|
|
76
121
|
return null;
|
|
77
122
|
}
|
|
78
123
|
}
|
|
@@ -98,13 +143,20 @@ export function resolveToolFromPath(filePath) {
|
|
|
98
143
|
throw new ToolResolveError(`Manifest file not found: ${absolutePath}`, filePath);
|
|
99
144
|
}
|
|
100
145
|
const loaded = loadManifest(absolutePath, localOptions);
|
|
101
|
-
|
|
146
|
+
const sourceDir = dirname(absolutePath);
|
|
147
|
+
const resolution = {
|
|
102
148
|
manifest: loaded.manifest,
|
|
103
|
-
sourceDir
|
|
149
|
+
sourceDir,
|
|
104
150
|
location: "file",
|
|
105
151
|
manifestPath: absolutePath,
|
|
106
152
|
version: loaded.manifest.version,
|
|
107
153
|
};
|
|
154
|
+
// Convert inline scripts to actionsManifest
|
|
155
|
+
const scriptsManifest = manifestScriptsToActionsManifest(loaded.manifest);
|
|
156
|
+
if (scriptsManifest) {
|
|
157
|
+
resolution.actionsManifest = scriptsManifest;
|
|
158
|
+
}
|
|
159
|
+
return resolution;
|
|
108
160
|
}
|
|
109
161
|
// Treat as directory
|
|
110
162
|
const result = tryLoadFromDir(absolutePath, "file", localOptions);
|
|
@@ -113,10 +165,60 @@ export function resolveToolFromPath(filePath) {
|
|
|
113
165
|
}
|
|
114
166
|
throw new ToolResolveError(`No manifest found at: ${absolutePath}`, filePath);
|
|
115
167
|
}
|
|
168
|
+
/**
|
|
169
|
+
* Resolve a specific action from a tool/skill
|
|
170
|
+
*
|
|
171
|
+
* @param resolution - Already resolved tool
|
|
172
|
+
* @param actionName - Name of the action to resolve
|
|
173
|
+
* @returns ToolResolution with action field populated
|
|
174
|
+
* @throws ToolResolveError if action not found
|
|
175
|
+
*/
|
|
176
|
+
export function resolveAction(resolution, actionName) {
|
|
177
|
+
// Check if the skill has actions (from scripts or ACTIONS.yaml)
|
|
178
|
+
if (!resolution.actionsManifest) {
|
|
179
|
+
throw new ToolResolveError(`Skill "${resolution.manifest.name}" does not define any scripts or actions. ` +
|
|
180
|
+
`Cannot resolve "${actionName}".`, `${resolution.manifest.name}:${actionName}`);
|
|
181
|
+
}
|
|
182
|
+
// Find the script/action (map lookup)
|
|
183
|
+
const action = resolution.actionsManifest.actions[actionName];
|
|
184
|
+
if (!action) {
|
|
185
|
+
const availableActions = Object.keys(resolution.actionsManifest.actions);
|
|
186
|
+
throw new ToolResolveError(`Action "${actionName}" not found in skill "${resolution.manifest.name}". ` +
|
|
187
|
+
`Available actions: ${availableActions.join(", ")}`, `${resolution.manifest.name}:${actionName}`);
|
|
188
|
+
}
|
|
189
|
+
return {
|
|
190
|
+
...resolution,
|
|
191
|
+
action,
|
|
192
|
+
actionName,
|
|
193
|
+
};
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Resolve a tool with optional action specifier
|
|
197
|
+
*
|
|
198
|
+
* Supports formats:
|
|
199
|
+
* - "owner/skill" - resolves skill only
|
|
200
|
+
* - "owner/skill:action" - resolves skill and specific action
|
|
201
|
+
*
|
|
202
|
+
* @param specifier - Tool/action specifier (e.g., "mendable/firecrawl:scrape")
|
|
203
|
+
* @param options - Resolution options
|
|
204
|
+
* @returns ToolResolution with action populated if specified
|
|
205
|
+
* @throws ToolResolveError if not found
|
|
206
|
+
*/
|
|
207
|
+
export function resolveToolWithAction(specifier, options = {}) {
|
|
208
|
+
const { skillName, actionName } = parseActionSpecifier(specifier);
|
|
209
|
+
// Resolve the skill first
|
|
210
|
+
const resolution = resolveTool(skillName, options);
|
|
211
|
+
// If no action specified, return as-is
|
|
212
|
+
if (!actionName) {
|
|
213
|
+
return resolution;
|
|
214
|
+
}
|
|
215
|
+
// Resolve the action
|
|
216
|
+
return resolveAction(resolution, actionName);
|
|
217
|
+
}
|
|
116
218
|
/**
|
|
117
219
|
* Resolve a tool by name, searching through standard locations
|
|
118
220
|
*
|
|
119
|
-
* @param toolName - Tool name (e.g., "acme/
|
|
221
|
+
* @param toolName - Tool name (e.g., "acme/greeter" or "@acme/greeter") or alias (e.g., "firebase")
|
|
120
222
|
* @param options - Resolution options
|
|
121
223
|
* @returns ToolResolution
|
|
122
224
|
* @throws ToolResolveError if not found
|
|
@@ -146,74 +248,30 @@ export function resolveTool(toolName, options = {}) {
|
|
|
146
248
|
}
|
|
147
249
|
}
|
|
148
250
|
}
|
|
149
|
-
// 2. Try global tools (via ~/.enact/tools.json →
|
|
251
|
+
// 2. Try global tools (via ~/.enact/tools.json → ~/.agent/skills/)
|
|
150
252
|
if (!options.skipUser) {
|
|
151
253
|
const globalVersion = getInstalledVersion(normalizedName, "global");
|
|
152
254
|
if (globalVersion) {
|
|
153
|
-
const
|
|
154
|
-
searchedLocations.push(
|
|
155
|
-
const result = tryLoadFromDir(
|
|
255
|
+
const skillPath = getToolCachePath(normalizedName, globalVersion);
|
|
256
|
+
searchedLocations.push(skillPath);
|
|
257
|
+
const result = tryLoadFromDir(skillPath, "user");
|
|
156
258
|
if (result) {
|
|
157
259
|
return result;
|
|
158
260
|
}
|
|
159
261
|
}
|
|
160
262
|
}
|
|
161
|
-
// 3. Try
|
|
263
|
+
// 3. Try skills directory (~/.agent/skills/{name}/)
|
|
162
264
|
if (!options.skipCache) {
|
|
163
|
-
const
|
|
164
|
-
const
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
const result = tryLoadFromDir(versionDir, "cache");
|
|
170
|
-
if (result) {
|
|
171
|
-
return result;
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
else {
|
|
175
|
-
// Look for latest cached version
|
|
176
|
-
if (existsSync(toolCacheBase)) {
|
|
177
|
-
const latestVersion = findLatestCachedVersion(toolCacheBase);
|
|
178
|
-
if (latestVersion) {
|
|
179
|
-
const versionDir = join(toolCacheBase, latestVersion);
|
|
180
|
-
searchedLocations.push(versionDir);
|
|
181
|
-
const result = tryLoadFromDir(versionDir, "cache");
|
|
182
|
-
if (result) {
|
|
183
|
-
return result;
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
}
|
|
265
|
+
const skillsDir = getSkillsDir();
|
|
266
|
+
const skillDir = getToolPath(skillsDir, normalizedName);
|
|
267
|
+
searchedLocations.push(skillDir);
|
|
268
|
+
const result = tryLoadFromDir(skillDir, "cache");
|
|
269
|
+
if (result) {
|
|
270
|
+
return result;
|
|
187
271
|
}
|
|
188
272
|
}
|
|
189
273
|
throw new ToolResolveError(`Tool not found: ${toolName}. Searched locations:\n${searchedLocations.map((l) => ` - ${l}`).join("\n")}`, toolName, searchedLocations);
|
|
190
274
|
}
|
|
191
|
-
/**
|
|
192
|
-
* Find the latest cached version directory
|
|
193
|
-
*/
|
|
194
|
-
function findLatestCachedVersion(toolCacheBase) {
|
|
195
|
-
try {
|
|
196
|
-
const entries = readdirSync(toolCacheBase, { withFileTypes: true });
|
|
197
|
-
const versions = entries
|
|
198
|
-
.filter((e) => e.isDirectory() && e.name.startsWith("v"))
|
|
199
|
-
.map((e) => e.name)
|
|
200
|
-
.sort((a, b) => {
|
|
201
|
-
// Sort by semver (v1.0.0 format)
|
|
202
|
-
const aVer = a.slice(1).split(".").map(Number);
|
|
203
|
-
const bVer = b.slice(1).split(".").map(Number);
|
|
204
|
-
for (let i = 0; i < 3; i++) {
|
|
205
|
-
if ((aVer[i] ?? 0) !== (bVer[i] ?? 0)) {
|
|
206
|
-
return (bVer[i] ?? 0) - (aVer[i] ?? 0);
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
return 0;
|
|
210
|
-
});
|
|
211
|
-
return versions[0] ?? null;
|
|
212
|
-
}
|
|
213
|
-
catch {
|
|
214
|
-
return null;
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
275
|
/**
|
|
218
276
|
* Try to resolve a tool, returning null instead of throwing
|
|
219
277
|
*
|
|
@@ -381,7 +439,7 @@ export function getToolSearchPaths(toolName, options = {}) {
|
|
|
381
439
|
}
|
|
382
440
|
// Cache
|
|
383
441
|
if (!options.skipCache) {
|
|
384
|
-
const cacheDir =
|
|
442
|
+
const cacheDir = getSkillsDir();
|
|
385
443
|
paths.push(join(cacheDir, toolNameToPath(normalizedName)));
|
|
386
444
|
}
|
|
387
445
|
return paths;
|
package/dist/resolver.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../src/resolver.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../src/resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TypeScript types for Agent Actions (ACTIONS.yaml)
|
|
3
|
+
*
|
|
4
|
+
* Agent Actions extends the Agent Skills specification with structured execution semantics,
|
|
5
|
+
* enabling skills to define executable actions with typed inputs, validated outputs,
|
|
6
|
+
* and secure credential handling.
|
|
7
|
+
*
|
|
8
|
+
* @see RFC-001-AGENT-ACTIONS.md
|
|
9
|
+
*/
|
|
10
|
+
import type { JSONSchema7 } from "json-schema";
|
|
11
|
+
import type { ToolAnnotations } from "./manifest";
|
|
12
|
+
/**
|
|
13
|
+
* Environment variable declaration in ACTIONS.yaml
|
|
14
|
+
*/
|
|
15
|
+
export interface ActionEnvVar {
|
|
16
|
+
/** Human-readable description of what this variable is for */
|
|
17
|
+
description?: string;
|
|
18
|
+
/** If true, value should be stored securely and masked in logs */
|
|
19
|
+
secret?: boolean;
|
|
20
|
+
/** If true, execution fails if not set */
|
|
21
|
+
required?: boolean;
|
|
22
|
+
/** Default value if not provided */
|
|
23
|
+
default?: string;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Environment variables map for actions
|
|
27
|
+
*/
|
|
28
|
+
export type ActionEnvVars = Record<string, ActionEnvVar>;
|
|
29
|
+
/**
|
|
30
|
+
* A single executable action within a skill
|
|
31
|
+
*
|
|
32
|
+
* Each action maps directly to an MCP tool with:
|
|
33
|
+
* - (key) → tool name (action name is the map key, not a field)
|
|
34
|
+
* - description → tool description
|
|
35
|
+
* - inputSchema → tool parameters
|
|
36
|
+
* - outputSchema → expected response shape
|
|
37
|
+
* - annotations → behavioral hints
|
|
38
|
+
*/
|
|
39
|
+
export interface Action {
|
|
40
|
+
/** Human-readable description of what this action does */
|
|
41
|
+
description: string;
|
|
42
|
+
/**
|
|
43
|
+
* Execution command
|
|
44
|
+
*
|
|
45
|
+
* Can be string form (simple commands without templates) or array form
|
|
46
|
+
* (required when using {{}} templates).
|
|
47
|
+
*
|
|
48
|
+
* Template syntax: {{param}} - each template is replaced with the literal
|
|
49
|
+
* value as a single argument, regardless of content.
|
|
50
|
+
*
|
|
51
|
+
* @example
|
|
52
|
+
* // String form (no templates)
|
|
53
|
+
* command: "python main.py --version"
|
|
54
|
+
*
|
|
55
|
+
* // Array form (with templates)
|
|
56
|
+
* command: ["python", "main.py", "scrape", "{{url}}"]
|
|
57
|
+
*/
|
|
58
|
+
command: string | string[];
|
|
59
|
+
/**
|
|
60
|
+
* JSON Schema defining expected input parameters
|
|
61
|
+
*
|
|
62
|
+
* Uses standard JSON Schema conventions:
|
|
63
|
+
* - Required fields listed in 'required' array must be provided
|
|
64
|
+
* - Optional fields with 'default' use the default value if not provided
|
|
65
|
+
* - Optional fields without 'default' cause the argument to be omitted entirely
|
|
66
|
+
*
|
|
67
|
+
* If omitted, defaults to { type: 'object', properties: {} } (no parameters)
|
|
68
|
+
*/
|
|
69
|
+
inputSchema?: JSONSchema7;
|
|
70
|
+
/**
|
|
71
|
+
* JSON Schema defining expected output structure
|
|
72
|
+
*
|
|
73
|
+
* If provided, clients must validate results against this schema.
|
|
74
|
+
* Results that don't conform are treated as errors.
|
|
75
|
+
*/
|
|
76
|
+
outputSchema?: JSONSchema7;
|
|
77
|
+
/**
|
|
78
|
+
* Behavioral hints for AI models and clients
|
|
79
|
+
*
|
|
80
|
+
* Open-ended object for attaching metadata to actions.
|
|
81
|
+
* Clients may use these for UI presentation, filtering, or custom behavior.
|
|
82
|
+
*/
|
|
83
|
+
annotations?: ToolAnnotations;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Complete ACTIONS.yaml manifest structure
|
|
87
|
+
*
|
|
88
|
+
* Defines how to execute actions for a skill, including environment
|
|
89
|
+
* variables, build steps, and the map of executable actions.
|
|
90
|
+
*
|
|
91
|
+
* @example
|
|
92
|
+
* ```yaml
|
|
93
|
+
* actions:
|
|
94
|
+
* scrape:
|
|
95
|
+
* description: Scrape a URL
|
|
96
|
+
* command: ["python", "main.py", "{{url}}"]
|
|
97
|
+
* inputSchema:
|
|
98
|
+
* type: object
|
|
99
|
+
* required: [url]
|
|
100
|
+
* properties:
|
|
101
|
+
* url: { type: string }
|
|
102
|
+
* ```
|
|
103
|
+
*/
|
|
104
|
+
export interface ActionsManifest {
|
|
105
|
+
/**
|
|
106
|
+
* Environment variables and secrets required by all actions
|
|
107
|
+
*
|
|
108
|
+
* Key benefit: Unlike traditional skills where you discover missing
|
|
109
|
+
* credentials at runtime, ACTIONS.yaml declares requirements upfront.
|
|
110
|
+
*/
|
|
111
|
+
env?: ActionEnvVars;
|
|
112
|
+
/**
|
|
113
|
+
* Map of action names to action definitions
|
|
114
|
+
*
|
|
115
|
+
* Each action becomes an MCP tool that can be executed directly.
|
|
116
|
+
* The key is the action name (e.g., "scrape", "crawl").
|
|
117
|
+
*
|
|
118
|
+
* @example
|
|
119
|
+
* actions:
|
|
120
|
+
* scrape:
|
|
121
|
+
* description: Scrape a URL
|
|
122
|
+
* command: ["python", "main.py", "{{url}}"]
|
|
123
|
+
* list-formats:
|
|
124
|
+
* description: List supported formats
|
|
125
|
+
* command: ffmpeg -formats
|
|
126
|
+
*/
|
|
127
|
+
actions: Record<string, Action>;
|
|
128
|
+
/**
|
|
129
|
+
* Build commands to run before execution
|
|
130
|
+
*
|
|
131
|
+
* For projects that require setup (e.g., pip install, npm install).
|
|
132
|
+
* Build runs once per environment setup, not per action invocation.
|
|
133
|
+
* Build failures prevent action execution.
|
|
134
|
+
*
|
|
135
|
+
* @example
|
|
136
|
+
* build:
|
|
137
|
+
* - pip install -r requirements.txt
|
|
138
|
+
* - npm install
|
|
139
|
+
* - npm run build
|
|
140
|
+
*/
|
|
141
|
+
build?: string | string[];
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Result of parsing an ACTIONS.yaml file
|
|
145
|
+
*/
|
|
146
|
+
export interface ParsedActionsManifest {
|
|
147
|
+
/** The parsed actions manifest */
|
|
148
|
+
actions: ActionsManifest;
|
|
149
|
+
/** The file path the manifest was loaded from */
|
|
150
|
+
filePath: string;
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Validation error specific to actions
|
|
154
|
+
*/
|
|
155
|
+
export interface ActionValidationError {
|
|
156
|
+
/** Path to the field with the error (e.g., "actions[0].command") */
|
|
157
|
+
path: string;
|
|
158
|
+
/** Error message */
|
|
159
|
+
message: string;
|
|
160
|
+
/** Error code for programmatic handling */
|
|
161
|
+
code: ActionValidationErrorCode;
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Error codes for action validation
|
|
165
|
+
*/
|
|
166
|
+
export type ActionValidationErrorCode = "MISSING_REQUIRED_FIELD" | "INVALID_COMMAND_FORMAT" | "STRING_COMMAND_WITH_TEMPLATE" | "DUPLICATE_ACTION_NAME" | "INVALID_INPUT_SCHEMA" | "INVALID_OUTPUT_SCHEMA" | "EMPTY_ACTIONS_ARRAY";
|
|
167
|
+
/**
|
|
168
|
+
* Result of validating an actions manifest
|
|
169
|
+
*/
|
|
170
|
+
export interface ActionValidationResult {
|
|
171
|
+
/** Whether the manifest is valid */
|
|
172
|
+
valid: boolean;
|
|
173
|
+
/** Validation errors (if any) */
|
|
174
|
+
errors?: ActionValidationError[];
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Actions manifest file names (in order of preference)
|
|
178
|
+
*/
|
|
179
|
+
export declare const ACTIONS_FILES: readonly ["ACTIONS.yaml", "ACTIONS.yml"];
|
|
180
|
+
export type ActionsFileName = (typeof ACTIONS_FILES)[number];
|
|
181
|
+
/**
|
|
182
|
+
* Default inputSchema when not provided
|
|
183
|
+
*
|
|
184
|
+
* Actions without inputSchema default to accepting no parameters.
|
|
185
|
+
*/
|
|
186
|
+
export declare const DEFAULT_INPUT_SCHEMA: JSONSchema7;
|
|
187
|
+
/**
|
|
188
|
+
* Get the effective inputSchema for an action
|
|
189
|
+
*
|
|
190
|
+
* Returns the action's inputSchema if provided, otherwise returns
|
|
191
|
+
* the default empty schema.
|
|
192
|
+
*/
|
|
193
|
+
export declare function getEffectiveInputSchema(action: Action): JSONSchema7;
|
|
194
|
+
//# sourceMappingURL=actions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../src/types/actions.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,8DAA8D;IAC9D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kEAAkE;IAClE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oCAAoC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AAEzD;;;;;;;;;GASG;AACH,MAAM,WAAW,MAAM;IACrB,0DAA0D;IAC1D,WAAW,EAAE,MAAM,CAAC;IAEpB;;;;;;;;;;;;;;;OAeG;IACH,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAE3B;;;;;;;;;OASG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;IAE1B;;;;;OAKG;IACH,YAAY,CAAC,EAAE,WAAW,CAAC;IAE3B;;;;;OAKG;IACH,WAAW,CAAC,EAAE,eAAe,CAAC;CAC/B;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;;OAKG;IACH,GAAG,CAAC,EAAE,aAAa,CAAC;IAEpB;;;;;;;;;;;;;;OAcG;IACH,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEhC;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,kCAAkC;IAClC,OAAO,EAAE,eAAe,CAAC;IACzB,iDAAiD;IACjD,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,oEAAoE;IACpE,IAAI,EAAE,MAAM,CAAC;IACb,oBAAoB;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,2CAA2C;IAC3C,IAAI,EAAE,yBAAyB,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,MAAM,yBAAyB,GACjC,wBAAwB,GACxB,wBAAwB,GACxB,8BAA8B,GAC9B,uBAAuB,GACvB,sBAAsB,GACtB,uBAAuB,GACvB,qBAAqB,CAAC;AAE1B;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,oCAAoC;IACpC,KAAK,EAAE,OAAO,CAAC;IACf,iCAAiC;IACjC,MAAM,CAAC,EAAE,qBAAqB,EAAE,CAAC;CAClC;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,0CAA2C,CAAC;AACtE,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7D;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,EAAE,WAGzB,CAAC;AAEX;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,CAEnE"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TypeScript types for Agent Actions (ACTIONS.yaml)
|
|
3
|
+
*
|
|
4
|
+
* Agent Actions extends the Agent Skills specification with structured execution semantics,
|
|
5
|
+
* enabling skills to define executable actions with typed inputs, validated outputs,
|
|
6
|
+
* and secure credential handling.
|
|
7
|
+
*
|
|
8
|
+
* @see RFC-001-AGENT-ACTIONS.md
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Actions manifest file names (in order of preference)
|
|
12
|
+
*/
|
|
13
|
+
export const ACTIONS_FILES = ["ACTIONS.yaml", "ACTIONS.yml"];
|
|
14
|
+
/**
|
|
15
|
+
* Default inputSchema when not provided
|
|
16
|
+
*
|
|
17
|
+
* Actions without inputSchema default to accepting no parameters.
|
|
18
|
+
*/
|
|
19
|
+
export const DEFAULT_INPUT_SCHEMA = {
|
|
20
|
+
type: "object",
|
|
21
|
+
properties: {},
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Get the effective inputSchema for an action
|
|
25
|
+
*
|
|
26
|
+
* Returns the action's inputSchema if provided, otherwise returns
|
|
27
|
+
* the default empty schema.
|
|
28
|
+
*/
|
|
29
|
+
export function getEffectiveInputSchema(action) {
|
|
30
|
+
return action.inputSchema ?? DEFAULT_INPUT_SCHEMA;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=actions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"actions.js","sourceRoot":"","sources":["../../src/types/actions.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA8LH;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,cAAc,EAAE,aAAa,CAAU,CAAC;AAGtE;;;;GAIG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAgB;IAC/C,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE,EAAE;CACN,CAAC;AAEX;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAAc;IACpD,OAAO,MAAM,CAAC,WAAW,IAAI,oBAAoB,CAAC;AACpD,CAAC"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Type exports from @enactprotocol/shared
|
|
3
3
|
*/
|
|
4
|
-
export type { ToolManifest, PackageManifest, ParsedManifest, EnvVariable, EnvVariables, Author, ToolAnnotations, ResourceRequirements, ToolExample, ValidationResult, ValidationError, ValidationWarning, ToolLocation, ToolResolution, ManifestFileName, } from "./manifest";
|
|
4
|
+
export type { ToolManifest, PackageManifest, ParsedManifest, EnvVariable, EnvVariables, Author, ToolAnnotations, ResourceRequirements, ToolHooks, ToolExample, ValidationResult, ValidationError, ValidationWarning, ToolLocation, ToolResolution, ManifestFileName, } from "./manifest";
|
|
5
5
|
export { MANIFEST_FILES, PACKAGE_MANIFEST_FILE, } from "./manifest";
|
|
6
|
+
export type { ActionEnvVar, ActionEnvVars, Action, ActionsManifest, } from "./actions";
|
|
7
|
+
export { DEFAULT_INPUT_SCHEMA, getEffectiveInputSchema } from "./actions";
|
|
6
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,YAAY,EAEV,YAAY,EACZ,eAAe,EACf,cAAc,EAEd,WAAW,EACX,YAAY,EACZ,MAAM,EACN,eAAe,EACf,oBAAoB,EACpB,WAAW,EAEX,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EAEjB,YAAY,EACZ,cAAc,EACd,gBAAgB,GACjB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,cAAc,EACd,qBAAqB,GACtB,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,YAAY,EAEV,YAAY,EACZ,eAAe,EACf,cAAc,EAEd,WAAW,EACX,YAAY,EACZ,MAAM,EACN,eAAe,EACf,oBAAoB,EACpB,SAAS,EACT,WAAW,EAEX,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EAEjB,YAAY,EACZ,cAAc,EACd,gBAAgB,GACjB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,cAAc,EACd,qBAAqB,GACtB,MAAM,YAAY,CAAC;AAGpB,YAAY,EACV,YAAY,EACZ,aAAa,EACb,MAAM,EACN,eAAe,GAChB,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC"}
|
package/dist/types/index.js
CHANGED
package/dist/types/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAyBH,OAAO,EACL,cAAc,EACd,qBAAqB,GACtB,MAAM,YAAY,CAAC;AAUpB,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC"}
|