@praveencs/agent 0.8.9 → 0.9.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.
Files changed (56) hide show
  1. package/README.md +53 -3
  2. package/ROADMAP.md +3 -2
  3. package/dist/src/cli/commands/plugins.d.ts.map +1 -1
  4. package/dist/src/cli/commands/plugins.js +2 -0
  5. package/dist/src/cli/commands/plugins.js.map +1 -1
  6. package/dist/src/cli/commands/run.d.ts.map +1 -1
  7. package/dist/src/cli/commands/run.js +30 -3
  8. package/dist/src/cli/commands/run.js.map +1 -1
  9. package/dist/src/cli/commands/scripts-cmd.d.ts +3 -0
  10. package/dist/src/cli/commands/scripts-cmd.d.ts.map +1 -0
  11. package/dist/src/cli/commands/scripts-cmd.js +197 -0
  12. package/dist/src/cli/commands/scripts-cmd.js.map +1 -0
  13. package/dist/src/cli/index.d.ts.map +1 -1
  14. package/dist/src/cli/index.js +2 -0
  15. package/dist/src/cli/index.js.map +1 -1
  16. package/dist/src/cli/repl.d.ts.map +1 -1
  17. package/dist/src/cli/repl.js +14 -5
  18. package/dist/src/cli/repl.js.map +1 -1
  19. package/dist/src/cli/slash-commands.d.ts +2 -0
  20. package/dist/src/cli/slash-commands.d.ts.map +1 -1
  21. package/dist/src/cli/slash-commands.js +21 -0
  22. package/dist/src/cli/slash-commands.js.map +1 -1
  23. package/dist/src/cli/ui/render.d.ts +1 -0
  24. package/dist/src/cli/ui/render.d.ts.map +1 -1
  25. package/dist/src/cli/ui/render.js +2 -1
  26. package/dist/src/cli/ui/render.js.map +1 -1
  27. package/dist/src/config/defaults.d.ts.map +1 -1
  28. package/dist/src/config/defaults.js +3 -0
  29. package/dist/src/config/defaults.js.map +1 -1
  30. package/dist/src/config/schema.d.ts +13 -0
  31. package/dist/src/config/schema.d.ts.map +1 -1
  32. package/dist/src/config/schema.js +5 -0
  33. package/dist/src/config/schema.js.map +1 -1
  34. package/dist/src/index.d.ts +3 -0
  35. package/dist/src/index.d.ts.map +1 -1
  36. package/dist/src/index.js +2 -0
  37. package/dist/src/index.js.map +1 -1
  38. package/dist/src/plugins/loader.d.ts +3 -2
  39. package/dist/src/plugins/loader.d.ts.map +1 -1
  40. package/dist/src/plugins/loader.js +14 -5
  41. package/dist/src/plugins/loader.js.map +1 -1
  42. package/dist/src/plugins/types.d.ts +4 -0
  43. package/dist/src/plugins/types.d.ts.map +1 -1
  44. package/dist/src/scripts/loader.d.ts +54 -0
  45. package/dist/src/scripts/loader.d.ts.map +1 -0
  46. package/dist/src/scripts/loader.js +269 -0
  47. package/dist/src/scripts/loader.js.map +1 -0
  48. package/dist/src/scripts/runner.d.ts +30 -0
  49. package/dist/src/scripts/runner.d.ts.map +1 -0
  50. package/dist/src/scripts/runner.js +169 -0
  51. package/dist/src/scripts/runner.js.map +1 -0
  52. package/dist/src/scripts/types.d.ts +134 -0
  53. package/dist/src/scripts/types.d.ts.map +1 -0
  54. package/dist/src/scripts/types.js +23 -0
  55. package/dist/src/scripts/types.js.map +1 -0
  56. package/package.json +1 -1
package/README.md CHANGED
@@ -39,8 +39,9 @@ $ agent
39
39
  | **⚡ Autonomous Execution** | Background daemon processes tasks with retries, rollback, and verification |
40
40
  | **🛠️ Extensible Skills** | Markdown-based skill definitions—install from a hub or write your own |
41
41
  | **⚡ Lightweight Commands** | Quick goal templates as markdown files—no boilerplate needed |
42
+ | **📜 Scripts System** | Repeatable local tasks defined in `script.yaml` for direct execution |
42
43
  | **🪝 Lifecycle Hooks** | Intercept execution at 10 event points (before:tool, after:plan, etc.) |
43
- | **🔌 Plugin System** | Bundle skills, commands, and hooks into distributable packages |
44
+ | **🔌 Plugin System** | Bundle skills, commands, scripts, and hooks into distributable packages |
44
45
  | **🔧 Multi-CLI Orchestration** | Delegate tasks to Cursor, Codex, Gemini, or Claude CLIs |
45
46
  | **💾 Persistent Memory** | SQLite + FTS5 semantic memory across sessions |
46
47
  | **❤️ Self-Improvement** | Monitors skill metrics and auto-patches failing skills |
@@ -110,6 +111,7 @@ The agent **remembers context** across turns—no need to repeat yourself.
110
111
  | `/help` | Show all available commands |
111
112
  | `/skills` | List installed skills with status |
112
113
  | `/commands` | List available lightweight commands |
114
+ | `/scripts` | List available local scripts |
113
115
  | `/hooks` | Show registered lifecycle hooks |
114
116
  | `/model` | Display current model and provider info |
115
117
  | `/compact` | Summarize conversation and free context |
@@ -196,7 +198,45 @@ agent commands list # See all available commands
196
198
 
197
199
  ---
198
200
 
199
- ### 5. Lifecycle Hooks
201
+ ### 5. Scripts
202
+
203
+ Scripts are repeatable, scriptable tasks (shell/Node Python) defined via a `script.yaml` manifest. They differ from Skills and Commands because they execute directly without LLM involvement, making them perfect for CI/CD tasks, builds, or deployments.
204
+
205
+ Create `.agent/scripts/deploy/script.yaml`:
206
+
207
+ ```yaml
208
+ name: deploy-staging
209
+ description: Build and deploy current branch to staging
210
+ entrypoint: deploy.sh
211
+ confirm: true
212
+ args:
213
+ branch:
214
+ description: Branch to deploy
215
+ default: main
216
+ ```
217
+
218
+ Create exactly the script you need (`deploy.sh` or `deploy.ts`):
219
+
220
+ ```bash
221
+ #!/bin/bash
222
+ echo "Deploying branch ${SCRIPT_ARG_BRANCH:-main}..."
223
+ npm run build && git push origin HEAD:staging
224
+ ```
225
+
226
+ Now execute it directly from the CLI or REPL:
227
+
228
+ ```bash
229
+ agent scripts run deploy-staging --branch develop
230
+ # or interactively
231
+ > /scripts
232
+ > agent scripts run deploy-staging
233
+ ```
234
+
235
+ Scripts are automatically provided as context to the LLM, so if you ask the agent to "deploy to staging", it knows it can use your exact shell script to do it.
236
+
237
+ ---
238
+
239
+ ### 6. Lifecycle Hooks
200
240
 
201
241
  Hooks intercept agent execution at every point. Define them in `.agent/hooks/hooks.json`:
202
242
 
@@ -264,6 +304,7 @@ my-plugin/
264
304
  "description": "Security scanning and compliance",
265
305
  "skills": ["skills/"],
266
306
  "commands": ["commands/"],
307
+ "scripts": ["scripts/"],
267
308
  "hooks": "hooks/hooks.json"
268
309
  }
269
310
  ```
@@ -380,6 +421,14 @@ agent memory add "Staging server is at 10.0.0.5" --category fact
380
421
  |---------|-------------|
381
422
  | `agent commands list` | List available commands |
382
423
 
424
+ ### Scripts
425
+
426
+ | Command | Description |
427
+ |---------|-------------|
428
+ | `agent scripts list` | List available scripts |
429
+ | `agent scripts run <name>` | Execute a script directly |
430
+ | `agent scripts show <name>` | Show script arguments and details |
431
+
383
432
  ### Hooks
384
433
 
385
434
  | Command | Description |
@@ -445,8 +494,9 @@ agent memory add "Staging server is at 10.0.0.5" --category fact
445
494
  - **LLM Router**: Multi-provider with offline-first support and fallback chains
446
495
  - **Skills**: Markdown prompt-based capabilities
447
496
  - **Commands**: Lightweight goal templates (YAML frontmatter + prompt)
497
+ - **Scripts**: Direct executable automation with argument injection
448
498
  - **Hooks**: Event-driven lifecycle interception
449
- - **Plugins**: Distributable bundles of skills + commands + hooks
499
+ - **Plugins**: Distributable bundles of skills + commands + scripts + hooks
450
500
  - **Tool Registry**: Sandboxed tool execution with permission gates
451
501
  - **Policy Engine**: Human-in-the-loop approval for sensitive operations
452
502
  - **Multi-CLI Tools**: Cursor, Codex, Gemini, Claude wrappers
package/ROADMAP.md CHANGED
@@ -30,8 +30,9 @@ Here is our vision for the next major milestones.
30
30
  - [x] **Lifecycle Hooks**: Event-driven hook system (`before:tool`, `after:step`, `before:plan`, etc.) allowing custom scripts to intercept and validate agent execution at every stage.
31
31
  - [x] **Lightweight Commands**: Reusable goal templates defined as markdown files with YAML frontmatter — no `skill.json` boilerplate needed. Auto-detected by `agent run <command-name>`.
32
32
  - [x] **Multi-CLI Orchestration**: First-class tool wrappers for external AI CLIs (`cli.cursor`, `cli.codex`, `cli.gemini`, `cli.claude`) so the agent can delegate specialized coding sub-tasks to the right tool.
33
- - [x] **Plugin System**: Distributable bundles (`plugin.json`) that package skills, commands, hooks, and tools together. Install with `agent plugins install <path>`.
34
- - [x] **New CLI Commands**: `agent hooks list|add|events`, `agent commands list`, `agent plugins list|install|remove`.
33
+ - [x] **Plugin System**: Distributable bundles (`plugin.json`) that package skills, commands, hooks, tools, and scripts together. Install with `agent plugins install <path>`.
34
+ - [x] **Scripts System**: Repeatable, scriptable tasks defined via `script.yaml` direct shell/Node execution without LLM involvement. Support for named arguments, environment variables, interpreter auto-detection, timeouts, and confirmation prompts. Works both standalone (`.agent/scripts/`) and inside plugins.
35
+ - [x] **New CLI Commands**: `agent hooks list|add|events`, `agent commands list`, `agent plugins list|install|remove`, `agent scripts list|run|show`.
35
36
 
36
37
  ## Phase 6: Interactive CLI Experience ✅
37
38
  - [x] **Interactive REPL**: When the user types `agent` with no arguments, launch a conversational session with multi-turn context, slash commands, and inline tool execution.
@@ -1 +1 @@
1
- {"version":3,"file":"plugins.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/plugins.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,wBAAgB,oBAAoB,IAAI,OAAO,CA6F9C"}
1
+ {"version":3,"file":"plugins.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/plugins.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,wBAAgB,oBAAoB,IAAI,OAAO,CA8F9C"}
@@ -37,6 +37,8 @@ export function createPluginsCommand() {
37
37
  parts.push(`${plugin.commandsCount} commands`);
38
38
  if (plugin.hooksCount > 0)
39
39
  parts.push(`${plugin.hooksCount} hooks`);
40
+ if (plugin.scriptsCount > 0)
41
+ parts.push(`${plugin.scriptsCount} scripts`);
40
42
  if (parts.length > 0) {
41
43
  console.log(chalk.dim(` Provides: ${parts.join(', ')}`));
42
44
  }
@@ -1 +1 @@
1
- {"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../../../src/cli/commands/plugins.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../../../src/cli/commands/plugins.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiBpC,wBAAgB,gBAAgB,IAAI,OAAO,CA8R1C"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmBpC,wBAAgB,gBAAgB,IAAI,OAAO,CAyT1C"}
@@ -7,6 +7,8 @@ import { SkillLoader } from '../../skills/loader.js';
7
7
  import { SkillRunner } from '../../skills/runner.js';
8
8
  import { LLMRouter } from '../../llm/router.js';
9
9
  import { CommandLoader } from '../../commands/loader.js';
10
+ import { ScriptLoader } from '../../scripts/loader.js';
11
+ import { ScriptRunner } from '../../scripts/runner.js';
10
12
  import { registerCoreTools } from './init.js';
11
13
  import { promptApproval } from '../ui/prompt.js';
12
14
  import { progress } from '../ui/progress.js';
@@ -29,14 +31,17 @@ export function createRunCommand() {
29
31
  const llmRouter = new LLMRouter(config);
30
32
  const skillRunner = new SkillRunner(registry, policy, llmRouter);
31
33
  const commandLoader = new CommandLoader();
34
+ const scriptLoader = new ScriptLoader();
32
35
  await skillLoader.loadAll();
33
36
  await commandLoader.loadProjectCommands(process.cwd());
37
+ const scriptInstallPaths = config.scripts?.installPaths ?? ['.agent/scripts'];
38
+ await scriptLoader.loadAll(scriptInstallPaths, process.cwd());
34
39
  const { PluginLoader } = await import('../../plugins/loader.js');
35
40
  const { HookRegistry } = await import('../../hooks/registry.js');
36
41
  const pluginLoader = new PluginLoader();
37
42
  const hookRegistry = new HookRegistry();
38
43
  const installPaths = config.plugins?.installPaths ?? ['.agent/plugins'];
39
- await pluginLoader.loadAll(installPaths, process.cwd(), skillLoader, commandLoader, hookRegistry);
44
+ await pluginLoader.loadAll(installPaths, process.cwd(), skillLoader, commandLoader, hookRegistry, scriptLoader);
40
45
  const ctx = {
41
46
  runId: generateRunId(),
42
47
  cwd: process.cwd(),
@@ -144,6 +149,24 @@ export function createRunCommand() {
144
149
  process.exit(1);
145
150
  }
146
151
  }
152
+ else if (scriptLoader.has(goal) || scriptLoader.has(goal.replace(/^\//, ''))) {
153
+ // ─── Run a Script (direct execution, no LLM) ───
154
+ const scriptName = goal.replace(/^\//, '');
155
+ const script = scriptLoader.get(scriptName);
156
+ progress.start(`Running script: ${script.manifest.name}`, 1);
157
+ progress.step(script.manifest.description);
158
+ const scriptRunner = new ScriptRunner();
159
+ const result = await scriptRunner.run(script, {}, {
160
+ projectRoot: process.cwd(),
161
+ });
162
+ if (result.success) {
163
+ progress.success(`Script completed successfully (${result.durationMs}ms)`);
164
+ }
165
+ else {
166
+ progress.error(`Script failed with exit code ${result.exitCode}`);
167
+ process.exit(result.exitCode);
168
+ }
169
+ }
147
170
  else {
148
171
  // Run goal via LLM with agentic tool-use loop
149
172
  progress.start(`Running goal: ${goal}`, 1);
@@ -167,11 +190,15 @@ You have access to the following tools: ${toolDefs.map(t => t.name).join(', ')}.
167
190
  Available Skills:
168
191
  ${skillLoader.list().map(s => `- ${s.manifest.name}: ${s.manifest.description}`).join('\n')}
169
192
 
193
+ Available Scripts (run via cmd.run tool with "agent scripts run <name>"):
194
+ ${scriptLoader.list().map(s => `- ${s.manifest.name}: ${s.manifest.description}`).join('\n') || '(none)'}
195
+
170
196
  INSTRUCTIONS:
171
197
  1. Use available tools to complete the user's goal step by step.
172
198
  2. If the user asks for a task covered by a skill (like opening VS Code), you can execute the underlying tool (e.g. cmd.run) to achieve it.
173
- 3. Be proactive: if the user wants an action (open app, create file), DO IT. Do not just explain how.
174
- 4. When done, provide a final summary.`,
199
+ 3. If there is a script that matches the user's request, run it using cmd.run with "agent scripts run <script-name>".
200
+ 4. Be proactive: if the user wants an action (open app, create file), DO IT. Do not just explain how.
201
+ 5. When done, provide a final summary.`,
175
202
  },
176
203
  { role: 'user', content: goal },
177
204
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../../src/cli/commands/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAIxD,MAAM,UAAU,gBAAgB;IAC5B,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC;SACzB,WAAW,CAAC,oBAAoB,CAAC;SACjC,QAAQ,CAAC,QAAQ,EAAE,iCAAiC,CAAC;SACrD,MAAM,CAAC,yBAAyB,EAAE,sBAAsB,CAAC;SACzD,MAAM,CAAC,kBAAkB,EAAE,wDAAwD,CAAC;SACpF,MAAM,CAAC,WAAW,EAAE,2CAA2C,CAAC;SAChE,MAAM,CAAC,KAAK,EAAE,IAAY,EAAE,OAAmE,EAAE,EAAE;QAChG,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,CAAC;QAEzC,MAAM,QAAQ,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;QAC5C,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAE5B,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACvD,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;QACjE,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;QAG1C,MAAM,WAAW,CAAC,OAAO,EAAE,CAAC;QAC5B,MAAM,aAAa,CAAC,mBAAmB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAEvD,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;QACjE,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;QACjE,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;QACxC,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;QAExC,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,EAAE,YAAY,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACxE,MAAM,YAAY,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC;QAElG,MAAM,GAAG,GAAqB;YAC1B,KAAK,EAAE,aAAa,EAAE;YACtB,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;YAClB,MAAM;YACN,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,KAAK;YACvC,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,KAAK;YAC/B,mBAAmB,EAAE,IAAI,GAAG,EAAE;YAC9B,UAAU,EAAE,cAAc;YAC1B,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;SAC1C,CAAC;QAEF,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAChB,uBAAuB;YACvB,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC7C,IAAI,CAAC,KAAK,EAAE,CAAC;gBACT,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,OAAO,CAAC,KAAK,aAAa,CAAC,CAAC,CAAC;gBAC/D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC;gBAC9C,KAAK,MAAM,CAAC,IAAI,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC;oBACjC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBACrD,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,CAAC;YAED,QAAQ,CAAC,KAAK,CAAC,kBAAkB,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;YAC3D,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAE1C,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;YAE3D,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACjB,QAAQ,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC;gBACjD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;oBAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;oBACpC,OAAO,CAAC,GAAG,CAAC,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC5G,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,QAAQ,CAAC,KAAK,CAAC,iBAAiB,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;gBAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,CAAC;QACL,CAAC;aAAM,IAAI,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC;YAC/E,oDAAoD;YACpD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACxC,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC;YAE5C,QAAQ,CAAC,KAAK,CAAC,oBAAoB,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;YACtD,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAEnC,IAAI,CAAC;gBACD,yCAAyC;gBACzC,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACjC,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;oBACzC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;wBACpD,IAAI,OAAO,KAAK,CAAC,CAAC,IAAI;4BAAE,OAAO,IAAI,CAAC;wBACpC,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;4BAAE,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC3E,OAAO,KAAK,CAAC;oBACjB,CAAC,CAAC,CAAC;oBACH,CAAC,CAAC,QAAQ,CAAC;gBAEf,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBACpC,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBACtC,OAAO;wBACH,IAAI,EAAE,CAAC,CAAC,IAAI;wBACZ,WAAW,EAAE,CAAC,CAAC,WAAW;wBAC1B,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE;qBACrE,CAAC;gBACN,CAAC,CAAC,CAAC;gBAEH,MAAM,QAAQ,GAAiB;oBAC3B,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE;oBAC3C,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,6CAA6C,IAAI,EAAE,EAAE;iBACjF,CAAC;gBAEF,MAAM,aAAa,GAAG,EAAE,CAAC;gBACzB,IAAI,WAAW,GAAG,EAAE,CAAC;gBAErB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE,CAAC;oBACrC,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;oBAErE,IAAI,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACtD,QAAQ,CAAC,IAAI,CAAC;4BACV,IAAI,EAAE,WAAW;4BACjB,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,EAAE;4BAC/B,SAAS,EAAE,QAAQ,CAAC,SAAS;yBAChC,CAAC,CAAC;wBAEH,KAAK,MAAM,EAAE,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;4BAClC,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;4BACnC,IAAI,CAAC,IAAI,EAAE,CAAC;gCACR,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,IAAI,YAAY,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;gCACpH,SAAS;4BACb,CAAC;4BAED,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;4BAC3E,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;4BAE7D,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gCACjB,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,YAAY,CAAC,CAAC;4BAC9C,CAAC;iCAAM,CAAC;gCACJ,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;4BACxD,CAAC;4BAED,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;wBACxH,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACJ,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC;wBAC/B,MAAM;oBACV,CAAC;gBACL,CAAC;gBAED,QAAQ,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;gBACtC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;gBACpC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAC7B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,QAAQ,CAAC,KAAK,CAAC,WAAY,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;gBACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,8CAA8C;YAC9C,QAAQ,CAAC,KAAK,CAAC,iBAAiB,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;YAC3C,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAEnC,IAAI,CAAC;gBACD,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACjC,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBAChC,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBACtC,OAAO;wBACH,IAAI,EAAE,CAAC,CAAC,IAAI;wBACZ,WAAW,EAAE,CAAC,CAAC,WAAW;wBAC1B,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE;qBACrE,CAAC;gBACN,CAAC,CAAC,CAAC;gBAEH,MAAM,QAAQ,GAAiB;oBAC3B;wBACI,IAAI,EAAE,QAAQ;wBACd,OAAO,EAAE;0CACK,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;EAG5E,WAAW,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;uCAMpD;qBACd;oBACD,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;iBAClC,CAAC;gBAEF,MAAM,aAAa,GAAG,EAAE,CAAC;gBACzB,IAAI,WAAW,GAAG,EAAE,CAAC;gBAErB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE,CAAC;oBACrC,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC;wBAClC,QAAQ;wBACR,KAAK,EAAE,QAAQ;qBAClB,CAAC,CAAC;oBAEH,IAAI,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACtD,yCAAyC;wBACzC,QAAQ,CAAC,IAAI,CAAC;4BACV,IAAI,EAAE,WAAW;4BACjB,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,EAAE;4BAC/B,SAAS,EAAE,QAAQ,CAAC,SAAS;yBAChC,CAAC,CAAC;wBAEH,KAAK,MAAM,EAAE,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;4BAClC,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;4BACnC,IAAI,CAAC,IAAI,EAAE,CAAC;gCACR,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,IAAI,uBAAuB,CAAC,CAAC;gCAC1D,QAAQ,CAAC,IAAI,CAAC;oCACV,IAAI,EAAE,MAAM;oCACZ,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,IAAI,YAAY,EAAE,CAAC;oCAC/D,UAAU,EAAE,EAAE,CAAC,EAAE;iCACpB,CAAC,CAAC;gCACH,SAAS;4BACb,CAAC;4BAED,eAAe;4BACf,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,eAAe,CAC3C;gCACI,IAAI,EAAE,EAAE,CAAC,IAAI;gCACb,SAAS,EAAE,EAAE,CAAC,IAAI;gCAClB,WAAW,EAAE,SAAS,IAAI,aAAa,EAAE,CAAC,IAAI,EAAE;gCAChD,WAAW,EAAE,IAAI,CAAC,WAAW;gCAC7B,IAAI,EAAE,EAAE,CAAC,IAA+B;gCACxC,SAAS,EAAE,QAAQ;6BACtB,EACD,GAAG,CACN,CAAC;4BAEF,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,UAAU,CAAC,gBAAgB,EAAE,CAAC;gCACrD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,eAAe,CACzC;oCACI,IAAI,EAAE,EAAE,CAAC,IAAI;oCACb,SAAS,EAAE,EAAE,CAAC,IAAI;oCAClB,WAAW,EAAE,SAAS,IAAI,aAAa,EAAE,CAAC,IAAI,EAAE;oCAChD,WAAW,EAAE,IAAI,CAAC,WAAW;oCAC7B,IAAI,EAAE,EAAE,CAAC,IAA+B;oCACxC,SAAS,EAAE,QAAQ;iCACtB,EACD,GAAG,CACN,CAAC;gCACF,IAAI,CAAC,QAAQ,EAAE,CAAC;oCACZ,QAAQ,CAAC,IAAI,CAAC;wCACV,IAAI,EAAE,MAAM;wCACZ,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,2BAA2B,EAAE,CAAC;wCAC/D,UAAU,EAAE,EAAE,CAAC,EAAE;qCACpB,CAAC,CAAC;oCACH,SAAS;gCACb,CAAC;4BACL,CAAC;iCAAM,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;gCAC7B,QAAQ,CAAC,IAAI,CAAC;oCACV,IAAI,EAAE,MAAM;oCACZ,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC;oCACrD,UAAU,EAAE,EAAE,CAAC,EAAE;iCACpB,CAAC,CAAC;gCACH,SAAS;4BACb,CAAC;4BAED,eAAe;4BACf,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;4BAC3E,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;4BAE7D,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gCACjB,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,YAAY,CAAC,CAAC;4BAC9C,CAAC;iCAAM,CAAC;gCACJ,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;4BACxD,CAAC;4BAED,QAAQ,CAAC,IAAI,CAAC;gCACV,IAAI,EAAE,MAAM;gCACZ,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;gCAC/D,UAAU,EAAE,EAAE,CAAC,EAAE;6BACpB,CAAC,CAAC;wBACP,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACJ,+BAA+B;wBAC/B,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC;wBAC/B,MAAM;oBACV,CAAC;gBACL,CAAC;gBAED,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;gBACnC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;gBACpC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAC7B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,QAAQ,CAAC,KAAK,CAAC,WAAY,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;gBACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,CAAC;QACL,CAAC;IACL,CAAC,CAAC,CAAC;IAEP,OAAO,GAAG,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../../src/cli/commands/run.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function createScriptsCommand(): Command;
3
+ //# sourceMappingURL=scripts-cmd.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scripts-cmd.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/scripts-cmd.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,wBAAgB,oBAAoB,IAAI,OAAO,CAgP9C"}
@@ -0,0 +1,197 @@
1
+ import { Command } from 'commander';
2
+ import chalk from 'chalk';
3
+ import { ScriptLoader } from '../../scripts/loader.js';
4
+ import { ScriptRunner } from '../../scripts/runner.js';
5
+ import { ConfigLoader } from '../../config/loader.js';
6
+ export function createScriptsCommand() {
7
+ const cmd = new Command('scripts')
8
+ .description('Manage and run repeatable scripts');
9
+ // ─── List scripts ───
10
+ cmd.command('list')
11
+ .description('List all available scripts')
12
+ .action(async () => {
13
+ const configLoader = new ConfigLoader();
14
+ const config = await configLoader.load();
15
+ const scriptLoader = new ScriptLoader();
16
+ const installPaths = config.scripts?.installPaths ?? ['.agent/scripts'];
17
+ await scriptLoader.loadAll(installPaths, process.cwd());
18
+ // Also load from plugins
19
+ const { PluginLoader } = await import('../../plugins/loader.js');
20
+ const { SkillLoader } = await import('../../skills/loader.js');
21
+ const { CommandLoader } = await import('../../commands/loader.js');
22
+ const { HookRegistry } = await import('../../hooks/registry.js');
23
+ const pluginLoader = new PluginLoader();
24
+ const skillLoader = new SkillLoader(config);
25
+ const commandLoader = new CommandLoader();
26
+ const hookRegistry = new HookRegistry();
27
+ await pluginLoader.loadAll(config.plugins.installPaths, process.cwd(), skillLoader, commandLoader, hookRegistry, scriptLoader);
28
+ const scripts = scriptLoader.list();
29
+ if (scripts.length === 0) {
30
+ console.log(chalk.dim('\nNo scripts found.'));
31
+ console.log(chalk.dim(`\nCreate scripts in ${chalk.white('.agent/scripts/')}`));
32
+ console.log(chalk.dim('Each subdirectory with a script.yaml becomes a script.\n'));
33
+ console.log(chalk.dim('Example structure:\n'));
34
+ console.log(chalk.dim(' .agent/scripts/deploy-staging/'));
35
+ console.log(chalk.dim(' ├── script.yaml'));
36
+ console.log(chalk.dim(' └── deploy.sh\n'));
37
+ return;
38
+ }
39
+ console.log(chalk.bold(`\n📜 Available Scripts (${scripts.length})\n`));
40
+ for (const script of scripts) {
41
+ const tags = script.manifest.tags?.length
42
+ ? chalk.dim(` [${script.manifest.tags.join(', ')}]`)
43
+ : '';
44
+ const source = chalk.dim(` (${script.source})`);
45
+ const ver = script.manifest.version ? chalk.dim(` v${script.manifest.version}`) : '';
46
+ console.log(` ${chalk.cyan.bold(script.manifest.name)}${ver}${source}`);
47
+ console.log(` ${script.manifest.description}${tags}`);
48
+ // Show args if any
49
+ if (script.manifest.args && Object.keys(script.manifest.args).length > 0) {
50
+ const argList = Object.entries(script.manifest.args)
51
+ .map(([name, def]) => {
52
+ const req = def.required ? chalk.red('*') : '';
53
+ const dflt = def.default !== undefined ? chalk.dim(` [=${def.default}]`) : '';
54
+ return `${chalk.white(name)}${req}${dflt}`;
55
+ })
56
+ .join(', ');
57
+ console.log(chalk.dim(` Args: ${argList}`));
58
+ }
59
+ console.log();
60
+ }
61
+ console.log(chalk.dim(` Run with: ${chalk.white('agent scripts run <name> [--arg value]')}\n`));
62
+ });
63
+ // ─── Run a script ───
64
+ cmd.command('run')
65
+ .description('Run a script by name')
66
+ .argument('<name>', 'Script name')
67
+ .option('--yes', 'Skip confirmation prompt')
68
+ .allowUnknownOption(true)
69
+ .action(async (name, options, command) => {
70
+ const configLoader = new ConfigLoader();
71
+ const config = await configLoader.load();
72
+ const scriptLoader = new ScriptLoader();
73
+ const installPaths = config.scripts?.installPaths ?? ['.agent/scripts'];
74
+ await scriptLoader.loadAll(installPaths, process.cwd());
75
+ // Also load from plugins
76
+ const { PluginLoader } = await import('../../plugins/loader.js');
77
+ const { SkillLoader } = await import('../../skills/loader.js');
78
+ const { CommandLoader } = await import('../../commands/loader.js');
79
+ const { HookRegistry } = await import('../../hooks/registry.js');
80
+ const pluginLoader = new PluginLoader();
81
+ const skillLoader = new SkillLoader(config);
82
+ const commandLoader = new CommandLoader();
83
+ const hookRegistry = new HookRegistry();
84
+ await pluginLoader.loadAll(config.plugins.installPaths, process.cwd(), skillLoader, commandLoader, hookRegistry, scriptLoader);
85
+ const script = scriptLoader.get(name);
86
+ if (!script) {
87
+ console.error(chalk.red(`Script "${name}" not found`));
88
+ const available = scriptLoader.list();
89
+ if (available.length > 0) {
90
+ console.log(chalk.dim('\nAvailable scripts:'));
91
+ for (const s of available) {
92
+ console.log(chalk.dim(` - ${s.manifest.name}: ${s.manifest.description}`));
93
+ }
94
+ }
95
+ process.exit(1);
96
+ }
97
+ // Parse remaining args as key-value pairs (--key value)
98
+ const rawArgs = command.args.slice(1);
99
+ const scriptArgs = {};
100
+ for (let i = 0; i < rawArgs.length; i++) {
101
+ const arg = rawArgs[i];
102
+ if (arg.startsWith('--')) {
103
+ const key = arg.slice(2);
104
+ const nextArg = rawArgs[i + 1];
105
+ if (!nextArg || nextArg.startsWith('--')) {
106
+ scriptArgs[key] = true; // Boolean flag
107
+ }
108
+ else {
109
+ scriptArgs[key] = nextArg;
110
+ i++;
111
+ }
112
+ }
113
+ }
114
+ // Confirmation
115
+ if (script.manifest.confirm && !options.yes) {
116
+ const readline = await import('node:readline');
117
+ const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
118
+ const answer = await new Promise((resolve) => {
119
+ rl.question(chalk.yellow(`\n⚠ Run script "${name}"? [y/N] `), resolve);
120
+ });
121
+ rl.close();
122
+ if (answer.toLowerCase() !== 'y' && answer.toLowerCase() !== 'yes') {
123
+ console.log(chalk.dim(' Cancelled.'));
124
+ return;
125
+ }
126
+ }
127
+ console.log(chalk.bold(`\n▶ Running script: ${chalk.cyan(name)}`));
128
+ console.log(chalk.dim(` ${script.manifest.description}`));
129
+ if (Object.keys(scriptArgs).length > 0) {
130
+ console.log(chalk.dim(` Args: ${JSON.stringify(scriptArgs)}`));
131
+ }
132
+ console.log(chalk.dim(' ─'.repeat(20)));
133
+ console.log();
134
+ const runner = new ScriptRunner();
135
+ const result = await runner.run(script, scriptArgs, {
136
+ projectRoot: process.cwd(),
137
+ });
138
+ console.log();
139
+ console.log(chalk.dim(' ─'.repeat(20)));
140
+ if (result.success) {
141
+ console.log(chalk.green(` ✓ Script completed successfully (${result.durationMs}ms)`));
142
+ }
143
+ else {
144
+ console.log(chalk.red(` ✗ Script failed with exit code ${result.exitCode} (${result.durationMs}ms)`));
145
+ process.exit(result.exitCode);
146
+ }
147
+ });
148
+ // ─── Show script details ───
149
+ cmd.command('show')
150
+ .description('Show details of a script')
151
+ .argument('<name>', 'Script name')
152
+ .action(async (name) => {
153
+ const configLoader = new ConfigLoader();
154
+ const config = await configLoader.load();
155
+ const scriptLoader = new ScriptLoader();
156
+ const installPaths = config.scripts?.installPaths ?? ['.agent/scripts'];
157
+ await scriptLoader.loadAll(installPaths, process.cwd());
158
+ const script = scriptLoader.get(name);
159
+ if (!script) {
160
+ console.error(chalk.red(`Script "${name}" not found`));
161
+ process.exit(1);
162
+ }
163
+ const m = script.manifest;
164
+ console.log(chalk.bold(`\n📜 ${chalk.cyan(m.name)}`));
165
+ console.log(` ${m.description}`);
166
+ if (m.version)
167
+ console.log(chalk.dim(` Version: ${m.version}`));
168
+ if (m.author)
169
+ console.log(chalk.dim(` Author: ${m.author}`));
170
+ console.log(chalk.dim(` Source: ${script.source}`));
171
+ console.log(chalk.dim(` Path: ${script.path}`));
172
+ console.log(chalk.dim(` Entrypoint: ${m.entrypoint}`));
173
+ console.log(chalk.dim(` Timeout: ${m.timeout ?? 300000}ms`));
174
+ console.log(chalk.dim(` Confirm: ${m.confirm ?? false}`));
175
+ if (m.env && Object.keys(m.env).length > 0) {
176
+ console.log(chalk.bold('\n Environment:'));
177
+ for (const [key, value] of Object.entries(m.env)) {
178
+ console.log(chalk.dim(` ${key}=${value}`));
179
+ }
180
+ }
181
+ if (m.args && Object.keys(m.args).length > 0) {
182
+ console.log(chalk.bold('\n Arguments:'));
183
+ for (const [argName, def] of Object.entries(m.args)) {
184
+ const req = def.required ? chalk.red(' (required)') : '';
185
+ const dflt = def.default !== undefined ? chalk.dim(` [default: ${def.default}]`) : '';
186
+ console.log(` ${chalk.white(`--${argName}`)}${req}${dflt}`);
187
+ console.log(chalk.dim(` ${def.description}`));
188
+ }
189
+ }
190
+ if (m.tags?.length) {
191
+ console.log(chalk.dim(`\n Tags: ${m.tags.join(', ')}`));
192
+ }
193
+ console.log();
194
+ });
195
+ return cmd;
196
+ }
197
+ //# sourceMappingURL=scripts-cmd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scripts-cmd.js","sourceRoot":"","sources":["../../../../src/cli/commands/scripts-cmd.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,MAAM,UAAU,oBAAoB;IAChC,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,SAAS,CAAC;SAC7B,WAAW,CAAC,mCAAmC,CAAC,CAAC;IAEtD,uBAAuB;IACvB,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;SACd,WAAW,CAAC,4BAA4B,CAAC;SACzC,MAAM,CAAC,KAAK,IAAI,EAAE;QACf,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,CAAC;QACzC,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;QAExC,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,EAAE,YAAY,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACxE,MAAM,YAAY,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAExD,yBAAyB;QACzB,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;QACjE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;QAC/D,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;QACnE,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;QAEjE,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;QACxC,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;QAC1C,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;QAExC,MAAM,YAAY,CAAC,OAAO,CACtB,MAAM,CAAC,OAAO,CAAC,YAAY,EAC3B,OAAO,CAAC,GAAG,EAAE,EACb,WAAW,EACX,aAAa,EACb,YAAY,EACZ,YAAY,CACf,CAAC;QAEF,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC;QAEpC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC;YAC9C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,uBAAuB,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC;YAChF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC,CAAC;YACnF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC;YAC/C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC,CAAC;YAC3D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC;YAC9C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC;YAC9C,OAAO;QACX,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,2BAA2B,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;QAExE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM;gBACrC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;gBACpD,CAAC,CAAC,EAAE,CAAC;YACT,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;YAChD,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAErF,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,MAAM,EAAE,CAAC,CAAC;YACzE,OAAO,CAAC,GAAG,CAAC,OAAO,MAAM,CAAC,QAAQ,CAAC,WAAW,GAAG,IAAI,EAAE,CAAC,CAAC;YAEzD,mBAAmB;YACnB,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvE,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;qBAC/C,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE;oBACjB,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC/C,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC9E,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,EAAE,CAAC;gBAC/C,CAAC,CAAC;qBACD,IAAI,CAAC,IAAI,CAAC,CAAC;gBAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,OAAO,EAAE,CAAC,CAAC,CAAC;YACnD,CAAC;YAED,OAAO,CAAC,GAAG,EAAE,CAAC;QAClB,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,KAAK,CAAC,KAAK,CAAC,wCAAwC,CAAC,IAAI,CAAC,CAAC,CAAC;IACrG,CAAC,CAAC,CAAC;IAEP,uBAAuB;IACvB,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC;SACb,WAAW,CAAC,sBAAsB,CAAC;SACnC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;SACjC,MAAM,CAAC,OAAO,EAAE,0BAA0B,CAAC;SAC3C,kBAAkB,CAAC,IAAI,CAAC;SACxB,MAAM,CAAC,KAAK,EAAE,IAAY,EAAE,OAAgC,EAAE,OAAgB,EAAE,EAAE;QAC/E,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,CAAC;QACzC,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;QAExC,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,EAAE,YAAY,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACxE,MAAM,YAAY,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAExD,yBAAyB;QACzB,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;QACjE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;QAC/D,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;QACnE,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;QAEjE,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;QACxC,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;QAC1C,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;QAExC,MAAM,YAAY,CAAC,OAAO,CACtB,MAAM,CAAC,OAAO,CAAC,YAAY,EAC3B,OAAO,CAAC,GAAG,EAAE,EACb,WAAW,EACX,aAAa,EACb,YAAY,EACZ,YAAY,CACf,CAAC;QAEF,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,IAAI,aAAa,CAAC,CAAC,CAAC;YAEvD,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC;YACtC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC;gBAC/C,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;oBACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;gBAChF,CAAC;YACL,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QAED,wDAAwD;QACxD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,UAAU,GAA8C,EAAE,CAAC;QAEjE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACvB,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvB,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACzB,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAE/B,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;oBACvC,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,eAAe;gBAC3C,CAAC;qBAAM,CAAC;oBACJ,UAAU,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;oBAC1B,CAAC,EAAE,CAAC;gBACR,CAAC;YACL,CAAC;QACL,CAAC;QAED,eAAe;QACf,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YAC1C,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;YAC/C,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YACtF,MAAM,MAAM,GAAG,MAAM,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,EAAE;gBACjD,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,oBAAoB,IAAI,WAAW,CAAC,EAAE,OAAO,CAAC,CAAC;YAC5E,CAAC,CAAC,CAAC;YACH,EAAE,CAAC,KAAK,EAAE,CAAC;YAEX,IAAI,MAAM,CAAC,WAAW,EAAE,KAAK,GAAG,IAAI,MAAM,CAAC,WAAW,EAAE,KAAK,KAAK,EAAE,CAAC;gBACjE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;gBACvC,OAAO;YACX,CAAC;QACL,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,wBAAwB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QACpE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAE5D,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;QACrE,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,EAAE,CAAC;QAEd,MAAM,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE;YAChD,WAAW,EAAE,OAAO,CAAC,GAAG,EAAE;SAC7B,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAE1C,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,uCAAuC,MAAM,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC;QAC5F,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,qCAAqC,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC;YACxG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC;IACL,CAAC,CAAC,CAAC;IAEP,8BAA8B;IAC9B,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;SACd,WAAW,CAAC,0BAA0B,CAAC;SACvC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;SACjC,MAAM,CAAC,KAAK,EAAE,IAAY,EAAE,EAAE;QAC3B,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,CAAC;QACzC,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;QAExC,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,EAAE,YAAY,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACxE,MAAM,YAAY,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAExD,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,IAAI,aAAa,CAAC,CAAC,CAAC;YACvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QAED,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QACtD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QACnC,IAAI,CAAC,CAAC,OAAO;YAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAClE,IAAI,CAAC,CAAC,MAAM;YAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC/D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACtD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QACzD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,OAAO,IAAI,MAAM,IAAI,CAAC,CAAC,CAAC;QAC/D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,OAAO,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC;QAE5D,IAAI,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;YAC7C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC/C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC;YACnD,CAAC;QACL,CAAC;QAED,IAAI,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAC3C,KAAK,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClD,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzD,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtF,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,CAAC,KAAK,CAAC,KAAK,OAAO,EAAE,CAAC,GAAG,GAAG,GAAG,IAAI,EAAE,CAAC,CAAC;gBAChE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YACxD,CAAC;QACL,CAAC;QAED,IAAI,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9D,CAAC;QAED,OAAO,CAAC,GAAG,EAAE,CAAC;IAClB,CAAC,CAAC,CAAC;IAEP,OAAO,GAAG,CAAC;AACf,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgBpC;;GAEG;AACH,wBAAgB,SAAS,IAAI,OAAO,CA6BnC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiBpC;;GAEG;AACH,wBAAgB,SAAS,IAAI,OAAO,CA8BnC"}
@@ -13,6 +13,7 @@ import { createReportCommand } from './commands/report.js';
13
13
  import { createHooksCommand } from './commands/hooks.js';
14
14
  import { createCommandsCommand } from './commands/commands-cmd.js';
15
15
  import { createPluginsCommand } from './commands/plugins.js';
16
+ import { createScriptsCommand } from './commands/scripts-cmd.js';
16
17
  /**
17
18
  * Create the CLI program with all commands
18
19
  */
@@ -41,6 +42,7 @@ export function createCLI() {
41
42
  program.addCommand(createHooksCommand());
42
43
  program.addCommand(createCommandsCommand());
43
44
  program.addCommand(createPluginsCommand());
45
+ program.addCommand(createScriptsCommand());
44
46
  return program;
45
47
  }
46
48
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D;;GAEG;AACH,MAAM,UAAU,SAAS;IACrB,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAE9B,OAAO;SACF,IAAI,CAAC,OAAO,CAAC;SACb,WAAW,CAAC,uGAAuG,CAAC;SACpH,OAAO,CAAC,OAAO,CAAC;SAChB,MAAM,CAAC,WAAW,EAAE,uBAAuB,CAAC;SAC5C,MAAM,CAAC,YAAY,EAAE,wBAAwB,CAAC;SAC9C,MAAM,CAAC,iBAAiB,EAAE,qBAAqB,CAAC,CAAC;IAEtD,wBAAwB;IACxB,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACxC,OAAO,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACvC,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAC1C,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACxC,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAC1C,OAAO,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACvC,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAC1C,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAC1C,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAC1C,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACxC,OAAO,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAC3C,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAC1C,OAAO,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC,CAAC;IACzC,OAAO,CAAC,UAAU,CAAC,qBAAqB,EAAE,CAAC,CAAC;IAC5C,OAAO,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAE3C,OAAO,OAAO,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE;;GAEG;AACH,MAAM,UAAU,SAAS;IACrB,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAE9B,OAAO;SACF,IAAI,CAAC,OAAO,CAAC;SACb,WAAW,CAAC,uGAAuG,CAAC;SACpH,OAAO,CAAC,OAAO,CAAC;SAChB,MAAM,CAAC,WAAW,EAAE,uBAAuB,CAAC;SAC5C,MAAM,CAAC,YAAY,EAAE,wBAAwB,CAAC;SAC9C,MAAM,CAAC,iBAAiB,EAAE,qBAAqB,CAAC,CAAC;IAEtD,wBAAwB;IACxB,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACxC,OAAO,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACvC,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAC1C,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACxC,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAC1C,OAAO,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACvC,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAC1C,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAC1C,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAC1C,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACxC,OAAO,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAC3C,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAC1C,OAAO,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC,CAAC;IACzC,OAAO,CAAC,UAAU,CAAC,qBAAqB,EAAE,CAAC,CAAC;IAC5C,OAAO,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAC3C,OAAO,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAE3C,OAAO,OAAO,CAAC;AACnB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"repl.d.ts","sourceRoot":"","sources":["../../../src/cli/repl.ts"],"names":[],"mappings":"AAmBA;;;;;;GAMG;AACH,wBAAsB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAqK/C"}
1
+ {"version":3,"file":"repl.d.ts","sourceRoot":"","sources":["../../../src/cli/repl.ts"],"names":[],"mappings":"AAoBA;;;;;;GAMG;AACH,wBAAsB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CA8K/C"}
@@ -7,6 +7,7 @@ import { SkillLoader } from '../skills/loader.js';
7
7
  import { LLMRouter } from '../llm/router.js';
8
8
  import { CommandLoader } from '../commands/loader.js';
9
9
  import { HookRegistry } from '../hooks/registry.js';
10
+ import { ScriptLoader } from '../scripts/loader.js';
10
11
  import { registerCoreTools } from './commands/init.js';
11
12
  import { promptApproval } from './ui/prompt.js';
12
13
  import { renderBanner, renderToolCall, renderSummary, renderError } from './ui/render.js';
@@ -33,9 +34,12 @@ export async function startREPL() {
33
34
  const llmRouter = new LLMRouter(config);
34
35
  const commandLoader = new CommandLoader();
35
36
  const hookRegistry = new HookRegistry();
37
+ const scriptLoader = new ScriptLoader();
36
38
  await skillLoader.loadAll();
37
39
  await commandLoader.loadProjectCommands(process.cwd());
38
40
  await hookRegistry.loadProjectHooks(process.cwd());
41
+ const scriptInstallPaths = config.scripts?.installPaths ?? ['.agent/scripts'];
42
+ await scriptLoader.loadAll(scriptInstallPaths, process.cwd());
39
43
  // ─── Detect project name ───
40
44
  let projectName;
41
45
  try {
@@ -48,10 +52,11 @@ export async function startREPL() {
48
52
  const providerConfig = config.models.providers[defaultProvider];
49
53
  const modelName = providerConfig?.model ?? defaultProvider;
50
54
  renderBanner(config, {
51
- version: '0.8.9',
55
+ version: '0.9.1',
52
56
  project: projectName,
53
57
  skillCount: skillLoader.list().length,
54
58
  commandCount: commandLoader.list().length,
59
+ scriptCount: scriptLoader.list().length,
55
60
  provider: modelName,
56
61
  });
57
62
  // ─── Prepare tool definitions for LLM ───
@@ -74,16 +79,20 @@ ${skillLoader.list().map(s => `- ${s.manifest.name}: ${s.manifest.description}`)
74
79
  Available Commands:
75
80
  ${commandLoader.list().map(c => `- ${c.name}: ${c.description}`).join('\n')}
76
81
 
82
+ Available Scripts (run via cmd.run tool with "agent scripts run <name>"):
83
+ ${scriptLoader.list().map(s => `- ${s.manifest.name}: ${s.manifest.description}`).join('\n') || '(none)'}
84
+
77
85
  INSTRUCTIONS:
78
86
  1. Use available tools to complete the user's goal step by step.
79
87
  2. Be proactive: if the user wants an action (open app, create file, refactor code), DO IT with tools.
80
- 3. Keep responses concise and actionable.
81
- 4. When done, provide a clear summary of what was accomplished.
82
- 5. If the user asks a question that doesn't require tool use, just answer directly.`;
88
+ 3. If there is a script that matches the user's request, run it using cmd.run with "agent scripts run <script-name>".
89
+ 4. Keep responses concise and actionable.
90
+ 5. When done, provide a clear summary of what was accomplished.
91
+ 6. If the user asks a question that doesn't require tool use, just answer directly.`;
83
92
  // ─── Initialize conversation and slash commands ───
84
93
  const conversation = new ConversationManager(systemPrompt);
85
94
  const slashCommands = new SlashCommandRegistry();
86
- const slashCtx = { config, skillLoader, commandLoader, hookRegistry, llmRouter };
95
+ const slashCtx = { config, skillLoader, commandLoader, hookRegistry, llmRouter, scriptLoader };
87
96
  const spinner = new Spinner();
88
97
  const ctx = {
89
98
  runId: generateRunId(),