@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
package/README.md
CHANGED
|
@@ -5,7 +5,7 @@ Core business logic and utilities for Enact.
|
|
|
5
5
|
## Overview
|
|
6
6
|
|
|
7
7
|
This package provides:
|
|
8
|
-
- Manifest parsing (
|
|
8
|
+
- Manifest parsing (skill.yaml, SKILL.md, and legacy enact.yaml/enact.md)
|
|
9
9
|
- Configuration management (~/.enact/config.yaml)
|
|
10
10
|
- Environment variable management (package-scoped)
|
|
11
11
|
- Tool resolution (local, user-level, registry)
|
|
@@ -13,14 +13,6 @@ This package provides:
|
|
|
13
13
|
- Execution engine interfaces
|
|
14
14
|
- Registry client
|
|
15
15
|
|
|
16
|
-
## Status
|
|
17
|
-
|
|
18
|
-
Currently in Phase 1 (scaffolding). Full implementation will be completed in Phase 3.
|
|
19
|
-
|
|
20
|
-
## Dependencies
|
|
21
|
-
|
|
22
|
-
- `@enactprotocol/security` - For cryptographic operations
|
|
23
|
-
|
|
24
16
|
## Development
|
|
25
17
|
|
|
26
18
|
```bash
|
|
@@ -33,12 +25,3 @@ bun test
|
|
|
33
25
|
# Type check
|
|
34
26
|
bun run typecheck
|
|
35
27
|
```
|
|
36
|
-
|
|
37
|
-
## Planned Features (Phase 3)
|
|
38
|
-
|
|
39
|
-
- [ ] Configuration system (paths, config, env, trust)
|
|
40
|
-
- [ ] Manifest parser with YAML/Markdown support
|
|
41
|
-
- [ ] Tool resolution with caching strategy
|
|
42
|
-
- [ ] Execution providers (Dagger and Direct)
|
|
43
|
-
- [ ] Registry HTTP client
|
|
44
|
-
- [ ] Comprehensive utilities (logger, tarball, version, fs)
|
package/dist/config.d.ts
CHANGED
|
@@ -20,6 +20,10 @@ export interface TrustConfig {
|
|
|
20
20
|
policy?: "require_attestation" | "prompt" | "allow";
|
|
21
21
|
/** Minimum number of trusted attestations required */
|
|
22
22
|
minimum_attestations?: number;
|
|
23
|
+
/** Alias: when true, sets policy to 'require_attestation'; when false, sets policy to 'allow' */
|
|
24
|
+
require_signatures?: boolean;
|
|
25
|
+
/** Alias: merged into auditors list */
|
|
26
|
+
trusted_publishers?: string[];
|
|
23
27
|
}
|
|
24
28
|
/**
|
|
25
29
|
* Cache configuration
|
|
@@ -33,11 +37,19 @@ export interface CacheConfig {
|
|
|
33
37
|
/**
|
|
34
38
|
* Execution configuration
|
|
35
39
|
*/
|
|
40
|
+
/** Execution backend type */
|
|
41
|
+
export type ExecutionBackend = "local" | "docker" | "dagger" | "container" | "remote";
|
|
36
42
|
export interface ExecutionConfig {
|
|
37
43
|
/** Default timeout for tool execution (e.g., "30s", "5m") */
|
|
38
44
|
defaultTimeout?: string;
|
|
39
45
|
/** Whether to run in verbose mode */
|
|
40
46
|
verbose?: boolean;
|
|
47
|
+
/** Default execution backend */
|
|
48
|
+
default?: ExecutionBackend;
|
|
49
|
+
/** Fallback backend if default is unavailable */
|
|
50
|
+
fallback?: ExecutionBackend;
|
|
51
|
+
/** Package scopes that bypass container isolation and run locally (e.g., ["@my-org/*"]) */
|
|
52
|
+
trusted_scopes?: string[];
|
|
41
53
|
}
|
|
42
54
|
/**
|
|
43
55
|
* Registry configuration
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH;;;;;;GAMG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,4GAA4G;IAC5G,MAAM,CAAC,EAAE,qBAAqB,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpD,sDAAsD;IACtD,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2BAA2B;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,6DAA6D;IAC7D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qCAAqC;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/config.js
CHANGED
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
* Handles reading and writing ~/.enact/config.yaml
|
|
4
4
|
*/
|
|
5
5
|
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
6
|
-
import { dirname
|
|
6
|
+
import { dirname } from "node:path";
|
|
7
7
|
import yaml from "js-yaml";
|
|
8
|
-
import { getConfigPath, getEnactHome } from "./paths";
|
|
8
|
+
import { getConfigPath, getEnactHome, getSkillsDir } from "./paths";
|
|
9
9
|
/**
|
|
10
10
|
* Default configuration values
|
|
11
11
|
*/
|
|
@@ -63,6 +63,30 @@ function deepMerge(target, source) {
|
|
|
63
63
|
}
|
|
64
64
|
return result;
|
|
65
65
|
}
|
|
66
|
+
/**
|
|
67
|
+
* Normalize config by resolving alias fields into their canonical counterparts.
|
|
68
|
+
* - trust.require_signatures → trust.policy
|
|
69
|
+
* - trust.trusted_publishers → merged into trust.auditors
|
|
70
|
+
*/
|
|
71
|
+
function normalizeConfig(config) {
|
|
72
|
+
if (config.trust) {
|
|
73
|
+
// require_signatures is an alias for policy
|
|
74
|
+
if (config.trust.require_signatures !== undefined && config.trust.policy === undefined) {
|
|
75
|
+
config.trust.policy = config.trust.require_signatures ? "require_attestation" : "allow";
|
|
76
|
+
}
|
|
77
|
+
// trusted_publishers merges into auditors
|
|
78
|
+
if (config.trust.trusted_publishers?.length) {
|
|
79
|
+
const auditors = config.trust.auditors ?? [];
|
|
80
|
+
for (const publisher of config.trust.trusted_publishers) {
|
|
81
|
+
if (!auditors.includes(publisher)) {
|
|
82
|
+
auditors.push(publisher);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
config.trust.auditors = auditors;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
return config;
|
|
89
|
+
}
|
|
66
90
|
/**
|
|
67
91
|
* Load configuration from ~/.enact/config.yaml
|
|
68
92
|
* Returns default config if file doesn't exist or is invalid
|
|
@@ -79,8 +103,10 @@ export function loadConfig() {
|
|
|
79
103
|
if (!parsed || typeof parsed !== "object") {
|
|
80
104
|
return { ...DEFAULT_CONFIG };
|
|
81
105
|
}
|
|
82
|
-
//
|
|
83
|
-
|
|
106
|
+
// Normalize aliases in user config BEFORE merging with defaults,
|
|
107
|
+
// so require_signatures → policy conversion isn't blocked by default policy
|
|
108
|
+
const normalized = normalizeConfig(parsed);
|
|
109
|
+
return deepMerge(DEFAULT_CONFIG, normalized);
|
|
84
110
|
}
|
|
85
111
|
catch {
|
|
86
112
|
// Return defaults on any error (parse error, read error, etc.)
|
|
@@ -177,14 +203,14 @@ export function configExists() {
|
|
|
177
203
|
export function ensureGlobalSetup() {
|
|
178
204
|
const enactHome = getEnactHome();
|
|
179
205
|
const configPath = getConfigPath();
|
|
180
|
-
const cacheDir =
|
|
206
|
+
const cacheDir = getSkillsDir();
|
|
181
207
|
let performedSetup = false;
|
|
182
208
|
// Ensure ~/.enact/ directory exists
|
|
183
209
|
if (!existsSync(enactHome)) {
|
|
184
210
|
mkdirSync(enactHome, { recursive: true });
|
|
185
211
|
performedSetup = true;
|
|
186
212
|
}
|
|
187
|
-
// Ensure ~/.
|
|
213
|
+
// Ensure ~/.agent/skills/ directory exists
|
|
188
214
|
if (!existsSync(cacheDir)) {
|
|
189
215
|
mkdirSync(cacheDir, { recursive: true });
|
|
190
216
|
performedSetup = true;
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Action command interpolation for Agent Actions
|
|
3
|
+
*
|
|
4
|
+
* Implements the {{param}} template syntax specified in RFC-001-AGENT-ACTIONS.
|
|
5
|
+
*
|
|
6
|
+
* ## Key Differences from ${param} (command.ts)
|
|
7
|
+
*
|
|
8
|
+
* 1. **No shell escaping**: Values are passed directly as arguments to execve()
|
|
9
|
+
* 2. **Array form only**: Templates only work in array-form commands
|
|
10
|
+
* 3. **Argument omission**: Optional params without values are omitted entirely
|
|
11
|
+
* 4. **Single argument substitution**: Each {{var}} becomes exactly one argument
|
|
12
|
+
*
|
|
13
|
+
* ## Security
|
|
14
|
+
*
|
|
15
|
+
* This template system is designed to prevent command injection:
|
|
16
|
+
* - Values are never passed through a shell interpreter
|
|
17
|
+
* - No argument splitting on whitespace or metacharacters
|
|
18
|
+
* - Each template becomes a single argument regardless of content
|
|
19
|
+
*
|
|
20
|
+
* @see RFC-001-AGENT-ACTIONS.md
|
|
21
|
+
*/
|
|
22
|
+
import type { JSONSchema7 } from "json-schema";
|
|
23
|
+
/**
|
|
24
|
+
* Token types for action command parsing
|
|
25
|
+
*/
|
|
26
|
+
export interface ActionCommandLiteralToken {
|
|
27
|
+
type: "literal";
|
|
28
|
+
value: string;
|
|
29
|
+
}
|
|
30
|
+
export interface ActionCommandParamToken {
|
|
31
|
+
type: "parameter";
|
|
32
|
+
name: string;
|
|
33
|
+
}
|
|
34
|
+
export type ActionCommandToken = ActionCommandLiteralToken | ActionCommandParamToken;
|
|
35
|
+
/**
|
|
36
|
+
* Parsed representation of a single command argument
|
|
37
|
+
*/
|
|
38
|
+
export interface ParsedArgument {
|
|
39
|
+
/** The tokens that make up this argument */
|
|
40
|
+
tokens: ActionCommandToken[];
|
|
41
|
+
/** Parameter names referenced in this argument */
|
|
42
|
+
parameters: string[];
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Result of parsing an action command
|
|
46
|
+
*/
|
|
47
|
+
export interface ParsedActionCommand {
|
|
48
|
+
/** Original command (array form) */
|
|
49
|
+
original: string[];
|
|
50
|
+
/** Parsed arguments with tokens */
|
|
51
|
+
arguments: ParsedArgument[];
|
|
52
|
+
/** All unique parameter names across all arguments */
|
|
53
|
+
allParameters: string[];
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Check if a string contains {{param}} templates
|
|
57
|
+
*/
|
|
58
|
+
export declare function hasActionTemplates(str: string): boolean;
|
|
59
|
+
/**
|
|
60
|
+
* Parse a single argument string into tokens
|
|
61
|
+
*
|
|
62
|
+
* @param arg - The argument string to parse
|
|
63
|
+
* @returns ParsedArgument with tokens and parameter names
|
|
64
|
+
*/
|
|
65
|
+
export declare function parseActionArgument(arg: string): ParsedArgument;
|
|
66
|
+
/**
|
|
67
|
+
* Parse an action command (array form) into tokens
|
|
68
|
+
*
|
|
69
|
+
* @param command - The command array to parse
|
|
70
|
+
* @returns ParsedActionCommand with all arguments parsed
|
|
71
|
+
*/
|
|
72
|
+
export declare function parseActionCommand(command: string[]): ParsedActionCommand;
|
|
73
|
+
/**
|
|
74
|
+
* Options for action command interpolation
|
|
75
|
+
*/
|
|
76
|
+
export interface ActionInterpolationOptions {
|
|
77
|
+
/**
|
|
78
|
+
* JSON Schema for input validation
|
|
79
|
+
* Used to determine which parameters are optional and have defaults
|
|
80
|
+
*/
|
|
81
|
+
inputSchema?: JSONSchema7;
|
|
82
|
+
/**
|
|
83
|
+
* Whether to omit arguments for optional params with no value
|
|
84
|
+
* Default: true (as per RFC-001)
|
|
85
|
+
*/
|
|
86
|
+
omitMissingOptional?: boolean;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Interpolate an action command with parameter values
|
|
90
|
+
*
|
|
91
|
+
* Implements RFC-001 template substitution rules:
|
|
92
|
+
* 1. Each {{var}} is replaced with the literal value as a single argument
|
|
93
|
+
* 2. Optional parameters without values cause the argument to be omitted
|
|
94
|
+
* 3. No shell interpolation - values passed directly to execve()
|
|
95
|
+
*
|
|
96
|
+
* @param command - Array-form command with {{param}} templates
|
|
97
|
+
* @param params - Parameter values
|
|
98
|
+
* @param options - Interpolation options
|
|
99
|
+
* @returns Array of command arguments ready for execve()
|
|
100
|
+
*/
|
|
101
|
+
export declare function interpolateActionCommand(command: string[], params: Record<string, unknown>, options?: ActionInterpolationOptions): string[];
|
|
102
|
+
/**
|
|
103
|
+
* Validate that all required parameters are provided
|
|
104
|
+
*
|
|
105
|
+
* @param command - Array-form command
|
|
106
|
+
* @param params - Provided parameter values
|
|
107
|
+
* @param inputSchema - JSON Schema for required field info
|
|
108
|
+
* @returns Array of missing required parameter names
|
|
109
|
+
*/
|
|
110
|
+
export declare function getMissingRequiredParams(command: string[], params: Record<string, unknown>, inputSchema?: JSONSchema7): string[];
|
|
111
|
+
/**
|
|
112
|
+
* Get all parameters referenced in a command
|
|
113
|
+
*
|
|
114
|
+
* @param command - Array-form command
|
|
115
|
+
* @returns Array of parameter names
|
|
116
|
+
*/
|
|
117
|
+
export declare function getActionCommandParams(command: string[]): string[];
|
|
118
|
+
/**
|
|
119
|
+
* Prepare an action command for execution
|
|
120
|
+
*
|
|
121
|
+
* This is the main entry point for preparing action commands.
|
|
122
|
+
* It validates required parameters and interpolates the command.
|
|
123
|
+
*
|
|
124
|
+
* @param command - Array-form command with {{param}} templates
|
|
125
|
+
* @param params - Parameter values
|
|
126
|
+
* @param inputSchema - JSON Schema for validation
|
|
127
|
+
* @returns Array of command arguments ready for execve()
|
|
128
|
+
* @throws Error if required parameters are missing
|
|
129
|
+
*/
|
|
130
|
+
export declare function prepareActionCommand(command: string[], params: Record<string, unknown>, inputSchema?: JSONSchema7): string[];
|
|
131
|
+
//# sourceMappingURL=action-command.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"action-command.d.ts","sourceRoot":"","sources":["../../src/execution/action-command.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,kBAAkB,GAAG,yBAAyB,GAAG,uBAAuB,CAAC;AAErF;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,4CAA4C;IAC5C,MAAM,EAAE,kBAAkB,EAAE,CAAC;IAC7B,kDAAkD;IAClD,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,oCAAoC;IACpC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,mCAAmC;IACnC,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,sDAAsD;IACtD,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB;AAOD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAIvD;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAmD/D;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,mBAAmB,CAqBzE;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC;;;OAGG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;IAE1B;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAwHD;;;;;;;;;;;;GAYG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,MAAM,EAAE,EACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,OAAO,GAAE,0BAA+B,GACvC,MAAM,EAAE,CA+BV;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,MAAM,EAAE,EACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,WAAW,CAAC,EAAE,WAAW,GACxB,MAAM,EAAE,CAeV;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAElE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,EAAE,EACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,WAAW,CAAC,EAAE,WAAW,GACxB,MAAM,EAAE,CAaV"}
|
|
@@ -0,0 +1,300 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Action command interpolation for Agent Actions
|
|
3
|
+
*
|
|
4
|
+
* Implements the {{param}} template syntax specified in RFC-001-AGENT-ACTIONS.
|
|
5
|
+
*
|
|
6
|
+
* ## Key Differences from ${param} (command.ts)
|
|
7
|
+
*
|
|
8
|
+
* 1. **No shell escaping**: Values are passed directly as arguments to execve()
|
|
9
|
+
* 2. **Array form only**: Templates only work in array-form commands
|
|
10
|
+
* 3. **Argument omission**: Optional params without values are omitted entirely
|
|
11
|
+
* 4. **Single argument substitution**: Each {{var}} becomes exactly one argument
|
|
12
|
+
*
|
|
13
|
+
* ## Security
|
|
14
|
+
*
|
|
15
|
+
* This template system is designed to prevent command injection:
|
|
16
|
+
* - Values are never passed through a shell interpreter
|
|
17
|
+
* - No argument splitting on whitespace or metacharacters
|
|
18
|
+
* - Each template becomes a single argument regardless of content
|
|
19
|
+
*
|
|
20
|
+
* @see RFC-001-AGENT-ACTIONS.md
|
|
21
|
+
*/
|
|
22
|
+
/**
|
|
23
|
+
* Regex to match {{param}} template syntax
|
|
24
|
+
*/
|
|
25
|
+
const ACTION_TEMPLATE_REGEX = /\{\{([^}]+)\}\}/g;
|
|
26
|
+
/**
|
|
27
|
+
* Check if a string contains {{param}} templates
|
|
28
|
+
*/
|
|
29
|
+
export function hasActionTemplates(str) {
|
|
30
|
+
// Reset regex state and test
|
|
31
|
+
ACTION_TEMPLATE_REGEX.lastIndex = 0;
|
|
32
|
+
return ACTION_TEMPLATE_REGEX.test(str);
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Parse a single argument string into tokens
|
|
36
|
+
*
|
|
37
|
+
* @param arg - The argument string to parse
|
|
38
|
+
* @returns ParsedArgument with tokens and parameter names
|
|
39
|
+
*/
|
|
40
|
+
export function parseActionArgument(arg) {
|
|
41
|
+
const tokens = [];
|
|
42
|
+
const parameters = [];
|
|
43
|
+
let lastIndex = 0;
|
|
44
|
+
const regex = /\{\{([^}]+)\}\}/g;
|
|
45
|
+
let match = regex.exec(arg);
|
|
46
|
+
while (match !== null) {
|
|
47
|
+
// Add literal text before this match
|
|
48
|
+
if (match.index > lastIndex) {
|
|
49
|
+
tokens.push({
|
|
50
|
+
type: "literal",
|
|
51
|
+
value: arg.slice(lastIndex, match.index),
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
// Add the parameter token
|
|
55
|
+
const paramName = match[1]?.trim();
|
|
56
|
+
if (paramName) {
|
|
57
|
+
tokens.push({
|
|
58
|
+
type: "parameter",
|
|
59
|
+
name: paramName,
|
|
60
|
+
});
|
|
61
|
+
if (!parameters.includes(paramName)) {
|
|
62
|
+
parameters.push(paramName);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
lastIndex = match.index + match[0].length;
|
|
66
|
+
match = regex.exec(arg);
|
|
67
|
+
}
|
|
68
|
+
// Add any remaining literal text
|
|
69
|
+
if (lastIndex < arg.length) {
|
|
70
|
+
tokens.push({
|
|
71
|
+
type: "literal",
|
|
72
|
+
value: arg.slice(lastIndex),
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
// If no tokens were created, the whole arg is a literal
|
|
76
|
+
if (tokens.length === 0) {
|
|
77
|
+
tokens.push({
|
|
78
|
+
type: "literal",
|
|
79
|
+
value: arg,
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
return { tokens, parameters };
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Parse an action command (array form) into tokens
|
|
86
|
+
*
|
|
87
|
+
* @param command - The command array to parse
|
|
88
|
+
* @returns ParsedActionCommand with all arguments parsed
|
|
89
|
+
*/
|
|
90
|
+
export function parseActionCommand(command) {
|
|
91
|
+
const parsedArgs = [];
|
|
92
|
+
const allParameters = [];
|
|
93
|
+
for (const arg of command) {
|
|
94
|
+
const parsed = parseActionArgument(arg);
|
|
95
|
+
parsedArgs.push(parsed);
|
|
96
|
+
// Collect unique parameters
|
|
97
|
+
for (const param of parsed.parameters) {
|
|
98
|
+
if (!allParameters.includes(param)) {
|
|
99
|
+
allParameters.push(param);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
return {
|
|
104
|
+
original: command,
|
|
105
|
+
arguments: parsedArgs,
|
|
106
|
+
allParameters,
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Get the default value for a parameter from the input schema
|
|
111
|
+
*/
|
|
112
|
+
function getDefaultValue(paramName, inputSchema) {
|
|
113
|
+
if (!inputSchema || inputSchema.type !== "object") {
|
|
114
|
+
return undefined;
|
|
115
|
+
}
|
|
116
|
+
const properties = inputSchema.properties;
|
|
117
|
+
if (!properties) {
|
|
118
|
+
return undefined;
|
|
119
|
+
}
|
|
120
|
+
const propSchema = properties[paramName];
|
|
121
|
+
if (!propSchema || typeof propSchema === "boolean") {
|
|
122
|
+
return undefined;
|
|
123
|
+
}
|
|
124
|
+
return propSchema.default;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Check if a parameter is required according to the input schema
|
|
128
|
+
*/
|
|
129
|
+
function isRequired(paramName, inputSchema) {
|
|
130
|
+
if (!inputSchema) {
|
|
131
|
+
return true; // Conservative default
|
|
132
|
+
}
|
|
133
|
+
const required = inputSchema.required;
|
|
134
|
+
return required?.includes(paramName) ?? false;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Convert a value to string for command argument
|
|
138
|
+
*
|
|
139
|
+
* Unlike command.ts, we don't shell-escape here because values
|
|
140
|
+
* are passed directly to execve(), not through a shell.
|
|
141
|
+
*/
|
|
142
|
+
function valueToArgString(value) {
|
|
143
|
+
if (value === null || value === undefined) {
|
|
144
|
+
return "";
|
|
145
|
+
}
|
|
146
|
+
if (typeof value === "string") {
|
|
147
|
+
return value;
|
|
148
|
+
}
|
|
149
|
+
if (typeof value === "number" || typeof value === "boolean") {
|
|
150
|
+
return String(value);
|
|
151
|
+
}
|
|
152
|
+
if (typeof value === "object") {
|
|
153
|
+
return JSON.stringify(value);
|
|
154
|
+
}
|
|
155
|
+
return String(value);
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Interpolate a single argument with parameter values
|
|
159
|
+
*
|
|
160
|
+
* @param parsed - Parsed argument with tokens
|
|
161
|
+
* @param params - Parameter values
|
|
162
|
+
* @param inputSchema - JSON Schema for defaults and required checks
|
|
163
|
+
* @returns Interpolated string, or undefined if argument should be omitted
|
|
164
|
+
*/
|
|
165
|
+
function interpolateArgument(parsed, params, inputSchema) {
|
|
166
|
+
// Check if any parameter in this argument should cause omission
|
|
167
|
+
for (const paramName of parsed.parameters) {
|
|
168
|
+
const value = params[paramName];
|
|
169
|
+
const defaultValue = getDefaultValue(paramName, inputSchema);
|
|
170
|
+
const required = isRequired(paramName, inputSchema);
|
|
171
|
+
// If parameter is not provided
|
|
172
|
+
if (value === undefined) {
|
|
173
|
+
// Use default if available
|
|
174
|
+
if (defaultValue !== undefined) {
|
|
175
|
+
// Continue with default value (handled below in token processing)
|
|
176
|
+
continue;
|
|
177
|
+
}
|
|
178
|
+
// If optional (not required) and no default, omit entire argument
|
|
179
|
+
if (!required) {
|
|
180
|
+
return undefined;
|
|
181
|
+
}
|
|
182
|
+
// If required and no value, this is an error
|
|
183
|
+
throw new Error(`Missing required parameter: ${paramName}`);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
// Build the interpolated string
|
|
187
|
+
const parts = [];
|
|
188
|
+
for (const token of parsed.tokens) {
|
|
189
|
+
if (token.type === "literal") {
|
|
190
|
+
parts.push(token.value);
|
|
191
|
+
}
|
|
192
|
+
else {
|
|
193
|
+
const paramName = token.name;
|
|
194
|
+
let value = params[paramName];
|
|
195
|
+
// Apply default if value not provided
|
|
196
|
+
if (value === undefined) {
|
|
197
|
+
value = getDefaultValue(paramName, inputSchema);
|
|
198
|
+
}
|
|
199
|
+
parts.push(valueToArgString(value));
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
return parts.join("");
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Interpolate an action command with parameter values
|
|
206
|
+
*
|
|
207
|
+
* Implements RFC-001 template substitution rules:
|
|
208
|
+
* 1. Each {{var}} is replaced with the literal value as a single argument
|
|
209
|
+
* 2. Optional parameters without values cause the argument to be omitted
|
|
210
|
+
* 3. No shell interpolation - values passed directly to execve()
|
|
211
|
+
*
|
|
212
|
+
* @param command - Array-form command with {{param}} templates
|
|
213
|
+
* @param params - Parameter values
|
|
214
|
+
* @param options - Interpolation options
|
|
215
|
+
* @returns Array of command arguments ready for execve()
|
|
216
|
+
*/
|
|
217
|
+
export function interpolateActionCommand(command, params, options = {}) {
|
|
218
|
+
const { inputSchema, omitMissingOptional = true } = options;
|
|
219
|
+
const parsed = parseActionCommand(command);
|
|
220
|
+
const result = [];
|
|
221
|
+
for (const arg of parsed.arguments) {
|
|
222
|
+
// If argument has no parameters, include it as-is
|
|
223
|
+
if (arg.parameters.length === 0) {
|
|
224
|
+
// It's just a literal
|
|
225
|
+
const literal = arg.tokens[0];
|
|
226
|
+
if (literal && literal.type === "literal") {
|
|
227
|
+
result.push(literal.value);
|
|
228
|
+
}
|
|
229
|
+
continue;
|
|
230
|
+
}
|
|
231
|
+
const interpolated = interpolateArgument(arg, params, inputSchema);
|
|
232
|
+
// undefined means omit this argument
|
|
233
|
+
if (interpolated === undefined) {
|
|
234
|
+
if (!omitMissingOptional) {
|
|
235
|
+
// If not omitting, use empty string
|
|
236
|
+
result.push("");
|
|
237
|
+
}
|
|
238
|
+
// Otherwise skip this argument entirely
|
|
239
|
+
continue;
|
|
240
|
+
}
|
|
241
|
+
result.push(interpolated);
|
|
242
|
+
}
|
|
243
|
+
return result;
|
|
244
|
+
}
|
|
245
|
+
/**
|
|
246
|
+
* Validate that all required parameters are provided
|
|
247
|
+
*
|
|
248
|
+
* @param command - Array-form command
|
|
249
|
+
* @param params - Provided parameter values
|
|
250
|
+
* @param inputSchema - JSON Schema for required field info
|
|
251
|
+
* @returns Array of missing required parameter names
|
|
252
|
+
*/
|
|
253
|
+
export function getMissingRequiredParams(command, params, inputSchema) {
|
|
254
|
+
const parsed = parseActionCommand(command);
|
|
255
|
+
const missing = [];
|
|
256
|
+
for (const paramName of parsed.allParameters) {
|
|
257
|
+
const value = params[paramName];
|
|
258
|
+
const defaultValue = getDefaultValue(paramName, inputSchema);
|
|
259
|
+
const required = isRequired(paramName, inputSchema);
|
|
260
|
+
if (required && value === undefined && defaultValue === undefined) {
|
|
261
|
+
missing.push(paramName);
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
return missing;
|
|
265
|
+
}
|
|
266
|
+
/**
|
|
267
|
+
* Get all parameters referenced in a command
|
|
268
|
+
*
|
|
269
|
+
* @param command - Array-form command
|
|
270
|
+
* @returns Array of parameter names
|
|
271
|
+
*/
|
|
272
|
+
export function getActionCommandParams(command) {
|
|
273
|
+
return parseActionCommand(command).allParameters;
|
|
274
|
+
}
|
|
275
|
+
/**
|
|
276
|
+
* Prepare an action command for execution
|
|
277
|
+
*
|
|
278
|
+
* This is the main entry point for preparing action commands.
|
|
279
|
+
* It validates required parameters and interpolates the command.
|
|
280
|
+
*
|
|
281
|
+
* @param command - Array-form command with {{param}} templates
|
|
282
|
+
* @param params - Parameter values
|
|
283
|
+
* @param inputSchema - JSON Schema for validation
|
|
284
|
+
* @returns Array of command arguments ready for execve()
|
|
285
|
+
* @throws Error if required parameters are missing
|
|
286
|
+
*/
|
|
287
|
+
export function prepareActionCommand(command, params, inputSchema) {
|
|
288
|
+
// Validate required parameters
|
|
289
|
+
const missing = getMissingRequiredParams(command, params, inputSchema);
|
|
290
|
+
if (missing.length > 0) {
|
|
291
|
+
throw new Error(`Missing required parameters: ${missing.join(", ")}`);
|
|
292
|
+
}
|
|
293
|
+
// Interpolate and return
|
|
294
|
+
const options = {};
|
|
295
|
+
if (inputSchema !== undefined) {
|
|
296
|
+
options.inputSchema = inputSchema;
|
|
297
|
+
}
|
|
298
|
+
return interpolateActionCommand(command, params, options);
|
|
299
|
+
}
|
|
300
|
+
//# sourceMappingURL=action-command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"action-command.js","sourceRoot":"","sources":["../../src/execution/action-command.ts"],"names":[],"mappings":"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"}
|