@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.
Files changed (111) hide show
  1. package/README.md +1 -18
  2. package/dist/config.d.ts +12 -0
  3. package/dist/config.d.ts.map +1 -1
  4. package/dist/config.js +32 -6
  5. package/dist/config.js.map +1 -1
  6. package/dist/execution/action-command.d.ts +131 -0
  7. package/dist/execution/action-command.d.ts.map +1 -0
  8. package/dist/execution/action-command.js +300 -0
  9. package/dist/execution/action-command.js.map +1 -0
  10. package/dist/execution/command.d.ts +8 -8
  11. package/dist/execution/command.js +6 -6
  12. package/dist/execution/index.d.ts +1 -0
  13. package/dist/execution/index.d.ts.map +1 -1
  14. package/dist/execution/index.js +2 -0
  15. package/dist/execution/index.js.map +1 -1
  16. package/dist/execution/types.d.ts +5 -2
  17. package/dist/execution/types.d.ts.map +1 -1
  18. package/dist/execution/types.js.map +1 -1
  19. package/dist/index.d.ts +8 -6
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +11 -4
  22. package/dist/index.js.map +1 -1
  23. package/dist/manifest/actions-loader.d.ts +29 -0
  24. package/dist/manifest/actions-loader.d.ts.map +1 -0
  25. package/dist/manifest/actions-loader.js +34 -0
  26. package/dist/manifest/actions-loader.js.map +1 -0
  27. package/dist/manifest/actions-parser.d.ts +69 -0
  28. package/dist/manifest/actions-parser.d.ts.map +1 -0
  29. package/dist/manifest/actions-parser.js +265 -0
  30. package/dist/manifest/actions-parser.js.map +1 -0
  31. package/dist/manifest/index.d.ts +2 -0
  32. package/dist/manifest/index.d.ts.map +1 -1
  33. package/dist/manifest/index.js +4 -0
  34. package/dist/manifest/index.js.map +1 -1
  35. package/dist/manifest/loader.d.ts +7 -2
  36. package/dist/manifest/loader.d.ts.map +1 -1
  37. package/dist/manifest/loader.js +71 -4
  38. package/dist/manifest/loader.js.map +1 -1
  39. package/dist/manifest/parser.d.ts +1 -0
  40. package/dist/manifest/parser.d.ts.map +1 -1
  41. package/dist/manifest/parser.js +1 -0
  42. package/dist/manifest/parser.js.map +1 -1
  43. package/dist/manifest/scripts.d.ts +19 -0
  44. package/dist/manifest/scripts.d.ts.map +1 -0
  45. package/dist/manifest/scripts.js +102 -0
  46. package/dist/manifest/scripts.js.map +1 -0
  47. package/dist/manifest/validator.d.ts +1 -8
  48. package/dist/manifest/validator.d.ts.map +1 -1
  49. package/dist/manifest/validator.js +14 -13
  50. package/dist/manifest/validator.js.map +1 -1
  51. package/dist/mcp-registry.js +5 -5
  52. package/dist/mcp-registry.js.map +1 -1
  53. package/dist/paths.d.ts +9 -2
  54. package/dist/paths.d.ts.map +1 -1
  55. package/dist/paths.js +12 -3
  56. package/dist/paths.js.map +1 -1
  57. package/dist/registry.d.ts +3 -2
  58. package/dist/registry.d.ts.map +1 -1
  59. package/dist/registry.js +5 -5
  60. package/dist/registry.js.map +1 -1
  61. package/dist/resolver.d.ts +55 -4
  62. package/dist/resolver.d.ts.map +1 -1
  63. package/dist/resolver.js +133 -75
  64. package/dist/resolver.js.map +1 -1
  65. package/dist/types/actions.d.ts +194 -0
  66. package/dist/types/actions.d.ts.map +1 -0
  67. package/dist/types/actions.js +32 -0
  68. package/dist/types/actions.js.map +1 -0
  69. package/dist/types/index.d.ts +3 -1
  70. package/dist/types/index.d.ts.map +1 -1
  71. package/dist/types/index.js +1 -0
  72. package/dist/types/index.js.map +1 -1
  73. package/dist/types/manifest.d.ts +50 -5
  74. package/dist/types/manifest.d.ts.map +1 -1
  75. package/dist/types/manifest.js +10 -2
  76. package/dist/types/manifest.js.map +1 -1
  77. package/package.json +2 -2
  78. package/src/config.ts +48 -6
  79. package/src/execution/action-command.ts +417 -0
  80. package/src/execution/command.ts +8 -8
  81. package/src/execution/index.ts +17 -0
  82. package/src/execution/types.ts +13 -2
  83. package/src/index.ts +37 -0
  84. package/src/manifest/actions-loader.ts +49 -0
  85. package/src/manifest/index.ts +12 -0
  86. package/src/manifest/loader.ts +77 -4
  87. package/src/manifest/parser.ts +1 -0
  88. package/src/manifest/scripts.ts +116 -0
  89. package/src/manifest/validator.ts +15 -14
  90. package/src/mcp-registry.ts +5 -5
  91. package/src/paths.ts +13 -3
  92. package/src/registry.ts +5 -5
  93. package/src/resolver.ts +172 -77
  94. package/src/types/actions.ts +223 -0
  95. package/src/types/index.ts +11 -0
  96. package/src/types/manifest.ts +67 -6
  97. package/tests/action-command.test.ts +249 -0
  98. package/tests/config-normalization.test.ts +279 -0
  99. package/tests/config.test.ts +4 -1
  100. package/tests/effective-input-schema.test.ts +86 -0
  101. package/tests/fixtures/valid-tool.md +5 -12
  102. package/tests/fixtures/valid-tool.yaml +3 -10
  103. package/tests/hooks.test.ts +177 -0
  104. package/tests/manifest/loader.test.ts +34 -20
  105. package/tests/manifest/parser.test.ts +11 -15
  106. package/tests/manifest/validator.test.ts +7 -17
  107. package/tests/manifest-types.test.ts +9 -11
  108. package/tests/paths.test.ts +11 -4
  109. package/tests/registry.test.ts +12 -11
  110. package/tests/resolver.test.ts +11 -7
  111. 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 → cache)
8
- * 4. Cache (~/.enact/cache/{name}/{version}/)
7
+ * 3. Global tools (via ~/.enact/tools.json → ~/.agent/skills/)
8
+ * 4. Skills directory (~/.agent/skills/{name}/)
9
9
  */
10
- import { existsSync, readdirSync } from "node:fs";
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 { getCacheDir, getProjectEnactDir } from "./paths";
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
- * e.g., "acme/utils/greeter" -> "acme/utils/greeter"
72
+ * Strips the @ prefix for disk paths: "@org/my-skill" -> "org/my-skill"
31
73
  */
32
74
  export function toolNameToPath(name) {
33
- // Tool names are already path-like, just normalize
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 = loadManifest(manifestPath, options);
66
- return {
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
- // Invalid manifest, skip
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
- return {
146
+ const sourceDir = dirname(absolutePath);
147
+ const resolution = {
102
148
  manifest: loaded.manifest,
103
- sourceDir: dirname(absolutePath),
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/utils/greeter") or alias (e.g., "firebase")
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 → cache)
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 cachePath = getToolCachePath(normalizedName, globalVersion);
154
- searchedLocations.push(cachePath);
155
- const result = tryLoadFromDir(cachePath, "user");
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 cache (with optional version)
263
+ // 3. Try skills directory (~/.agent/skills/{name}/)
162
264
  if (!options.skipCache) {
163
- const cacheDir = getCacheDir();
164
- const toolCacheBase = getToolPath(cacheDir, normalizedName);
165
- if (options.version) {
166
- // Look for specific version
167
- const versionDir = join(toolCacheBase, `v${options.version.replace(/^v/, "")}`);
168
- searchedLocations.push(versionDir);
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 = getCacheDir();
442
+ const cacheDir = getSkillsDir();
385
443
  paths.push(join(cacheDir, toolNameToPath(normalizedName)));
386
444
  }
387
445
  return paths;
@@ -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"}
@@ -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"}
@@ -2,4 +2,5 @@
2
2
  * Type exports from @enactprotocol/shared
3
3
  */
4
4
  export { MANIFEST_FILES, PACKAGE_MANIFEST_FILE, } from "./manifest";
5
+ export { DEFAULT_INPUT_SCHEMA, getEffectiveInputSchema } from "./actions";
5
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAwBH,OAAO,EACL,cAAc,EACd,qBAAqB,GACtB,MAAM,YAAY,CAAC"}
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"}