@praveencs/agent 0.9.0 → 0.9.2

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 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
@@ -464,6 +514,7 @@ Understand the agent architecture with our 7-part deep-dive:
464
514
  5. [**Self-Improvement**](docs/articles/05-self-improvement.md) — Metrics & the Auto-Fixer
465
515
  6. [**Plugin Ecosystem**](docs/articles/06-plugin-ecosystem.md) — Hooks, commands, multi-CLI
466
516
  7. [**Interactive CLI**](docs/articles/07-interactive-cli.md) — The conversational experience
517
+ 8. [**Scripts System**](docs/articles/08-scripts-system.md) — Non-LLM deterministic automation
467
518
 
468
519
  ### Comparisons
469
520
  - [**vs OpenClaw**](docs/comparisons/openclaw.md) — How we differ from AI OS projects
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function createStudioCommand(): Command;
3
+ //# sourceMappingURL=studio-cmd.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"studio-cmd.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/studio-cmd.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,wBAAgB,mBAAmB,IAAI,OAAO,CA8B7C"}
@@ -0,0 +1,38 @@
1
+ import { Command } from 'commander';
2
+ import chalk from 'chalk';
3
+ import { createStudioServer } from '../../server/app.js';
4
+ import { exec } from 'node:child_process';
5
+ import { promisify } from 'node:util';
6
+ const execAsync = promisify(exec);
7
+ export function createStudioCommand() {
8
+ const cmd = new Command('studio')
9
+ .description('Launch Agent Studio for observability')
10
+ .option('-p, --port <number>', 'Port to run the studio server on', '3333')
11
+ .action(async (options) => {
12
+ const port = parseInt(options.port, 10);
13
+ const server = createStudioServer();
14
+ server.listen(port, async () => {
15
+ const url = `http://localhost:${port}`;
16
+ console.log(chalk.cyan(`\n ✨ Agent Studio is running at ${chalk.bold(url)}`));
17
+ console.log(chalk.dim(` Connects to all active agent instances on this machine.\n`));
18
+ console.log(chalk.yellow(` Press Ctrl+C to stop.`));
19
+ try {
20
+ // Detect OS and open browser
21
+ if (process.platform === 'darwin') {
22
+ await execAsync(`open ${url}`);
23
+ }
24
+ else if (process.platform === 'win32') {
25
+ await execAsync(`start ${url}`);
26
+ }
27
+ else {
28
+ await execAsync(`xdg-open ${url}`);
29
+ }
30
+ }
31
+ catch (err) {
32
+ console.error(chalk.red(`Failed to launch browser: ${err.message}`));
33
+ }
34
+ });
35
+ });
36
+ return cmd;
37
+ }
38
+ //# sourceMappingURL=studio-cmd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"studio-cmd.js","sourceRoot":"","sources":["../../../../src/cli/commands/studio-cmd.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAElC,MAAM,UAAU,mBAAmB;IAC/B,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC;SAC5B,WAAW,CAAC,uCAAuC,CAAC;SACpD,MAAM,CAAC,qBAAqB,EAAE,kCAAkC,EAAE,MAAM,CAAC;SACzE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACtB,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,kBAAkB,EAAE,CAAC;QAEpC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE;YAC3B,MAAM,GAAG,GAAG,oBAAoB,IAAI,EAAE,CAAC;YACvC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,oCAAoC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YAC/E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC,CAAC;YACtF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC,CAAC;YAErD,IAAI,CAAC;gBACD,6BAA6B;gBAC7B,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;oBAChC,MAAM,SAAS,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC;gBACnC,CAAC;qBAAM,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;oBACtC,MAAM,SAAS,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC;gBACpC,CAAC;qBAAM,CAAC;oBACJ,MAAM,SAAS,CAAC,YAAY,GAAG,EAAE,CAAC,CAAC;gBACvC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,6BAA8B,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACpF,CAAC;QACL,CAAC,CAAC,CAAC;IACP,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;AAiBpC;;GAEG;AACH,wBAAgB,SAAS,IAAI,OAAO,CA8BnC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkBpC;;GAEG;AACH,wBAAgB,SAAS,IAAI,OAAO,CA+BnC"}
@@ -14,6 +14,7 @@ import { createHooksCommand } from './commands/hooks.js';
14
14
  import { createCommandsCommand } from './commands/commands-cmd.js';
15
15
  import { createPluginsCommand } from './commands/plugins.js';
16
16
  import { createScriptsCommand } from './commands/scripts-cmd.js';
17
+ import { createStudioCommand } from './commands/studio-cmd.js';
17
18
  /**
18
19
  * Create the CLI program with all commands
19
20
  */
@@ -43,6 +44,7 @@ export function createCLI() {
43
44
  program.addCommand(createCommandsCommand());
44
45
  program.addCommand(createPluginsCommand());
45
46
  program.addCommand(createScriptsCommand());
47
+ program.addCommand(createStudioCommand());
46
48
  return program;
47
49
  }
48
50
  //# 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;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
+ {"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;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D;;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;IAC3C,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAE1C,OAAO,OAAO,CAAC;AACnB,CAAC"}
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"repl.d.ts","sourceRoot":"","sources":["../../../src/cli/repl.ts"],"names":[],"mappings":"AAqBA;;;;;;GAMG;AACH,wBAAsB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAiM/C"}
@@ -16,6 +16,7 @@ import { ConversationManager } from './conversation.js';
16
16
  import { SlashCommandRegistry } from './slash-commands.js';
17
17
  import { zodToJsonSchema } from '../utils/schema.js';
18
18
  import { generateRunId } from '../utils/paths.js';
19
+ import { InstanceRegistry } from '../instance/registry.js';
19
20
  /**
20
21
  * Interactive REPL — the heart of the Claude Code-style experience
21
22
  *
@@ -47,12 +48,23 @@ export async function startREPL() {
47
48
  projectName = pkg.name;
48
49
  }
49
50
  catch { /* not a node project */ }
51
+ // ─── Register with Global InstanceRegistry ───
52
+ const instanceRegistry = new InstanceRegistry();
53
+ const instanceId = `repl-${Date.now()}`;
54
+ await instanceRegistry.register({
55
+ id: instanceId,
56
+ pid: process.pid,
57
+ cwd: process.cwd(),
58
+ port: 0,
59
+ status: 'idle',
60
+ project: projectName
61
+ });
50
62
  // ─── Show welcome banner ───
51
63
  const defaultProvider = config.models.routing.defaultProvider;
52
64
  const providerConfig = config.models.providers[defaultProvider];
53
65
  const modelName = providerConfig?.model ?? defaultProvider;
54
66
  renderBanner(config, {
55
- version: '0.9.0',
67
+ version: '0.9.1',
56
68
  project: projectName,
57
69
  skillCount: skillLoader.list().length,
58
70
  commandCount: commandLoader.list().length,
@@ -171,8 +183,14 @@ INSTRUCTIONS:
171
183
  rl.prompt();
172
184
  }
173
185
  });
174
- rl.on('close', () => {
186
+ rl.on('close', async () => {
175
187
  console.log(chalk.dim('\n 👋 Goodbye!\n'));
188
+ await instanceRegistry.unregister(instanceId);
189
+ process.exit(0);
190
+ });
191
+ // Handle abrupt exits
192
+ process.on('SIGINT', async () => {
193
+ await instanceRegistry.unregister(instanceId);
176
194
  process.exit(0);
177
195
  });
178
196
  }
@@ -1 +1 @@
1
- {"version":3,"file":"repl.js","sourceRoot":"","sources":["../../../src/cli/repl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"repl.js","sourceRoot":"","sources":["../../../src/cli/repl.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,8 @@ export declare class DaemonService {
17
17
  private logPath;
18
18
  private running;
19
19
  private startedAt;
20
+ private instanceRegistry;
21
+ private instanceId;
20
22
  private stats;
21
23
  constructor(workDir?: string);
22
24
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/daemon/service.ts"],"names":[],"mappings":"AASA;;;;;;;;GAQG;AACH,qBAAa,aAAa;IAiBV,OAAO,CAAC,OAAO;IAhB3B,OAAO,CAAC,QAAQ,CAAc;IAC9B,OAAO,CAAC,YAAY,CAAkC;IACtD,OAAO,CAAC,cAAc,CAA+C;IACrE,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,KAAK,CAMX;gBAEkB,OAAO,GAAE,MAAsB;IAMnD;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA6B5B;;OAEG;YACW,eAAe;IA8C7B;;OAEG;YACW,cAAc;IAiC5B;;OAEG;YACW,gBAAgB;IAoC9B;;OAEG;YACW,WAAW;IAWzB;;OAEG;YACW,SAAS;IAoBvB;;OAEG;YACW,QAAQ;IA+BtB;;OAEG;IACH,OAAO,CAAC,SAAS;IAgBjB;;OAEG;IACH,SAAS;;;;;;;;;;;;;;IAWT;;OAEG;YACW,GAAG;CAWpB"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/daemon/service.ts"],"names":[],"mappings":"AAUA;;;;;;;;GAQG;AACH,qBAAa,aAAa;IAmBV,OAAO,CAAC,OAAO;IAlB3B,OAAO,CAAC,QAAQ,CAAc;IAC9B,OAAO,CAAC,YAAY,CAAkC;IACtD,OAAO,CAAC,cAAc,CAA+C;IACrE,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,KAAK,CAMX;gBAEkB,OAAO,GAAE,MAAsB;IAQnD;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA0C5B;;OAEG;YACW,eAAe;IA8C7B;;OAEG;YACW,cAAc;IAiC5B;;OAEG;YACW,gBAAgB;IAoC9B;;OAEG;YACW,WAAW;IAWzB;;OAEG;YACW,SAAS;IAoBvB;;OAEG;YACW,QAAQ;IAiCtB;;OAEG;IACH,OAAO,CAAC,SAAS;IAgBjB;;OAEG;IACH,SAAS;;;;;;;;;;;;;;IAWT;;OAEG;YACW,GAAG;CAWpB"}
@@ -6,6 +6,7 @@ import { MemoryStore } from '../memory/store.js';
6
6
  import { GoalStore } from '../goals/store.js';
7
7
  import { loadTriggers } from './triggers.js';
8
8
  import { getAgentDir } from '../utils/paths.js';
9
+ import { InstanceRegistry } from '../instance/registry.js';
9
10
  /**
10
11
  * Daemon Service — The autonomous agent heartbeat
11
12
  *
@@ -25,6 +26,8 @@ export class DaemonService {
25
26
  logPath;
26
27
  running = false;
27
28
  startedAt = null;
29
+ instanceRegistry;
30
+ instanceId;
28
31
  stats = {
29
32
  tasksProcessed: 0,
30
33
  tasksCompleted: 0,
@@ -37,6 +40,8 @@ export class DaemonService {
37
40
  this.memoryStore = MemoryStore.open(workDir);
38
41
  this.goalStore = new GoalStore(this.memoryStore);
39
42
  this.logPath = path.join(getAgentDir(), 'daemon.log');
43
+ this.instanceRegistry = new InstanceRegistry();
44
+ this.instanceId = `daemon-${Date.now()}`;
40
45
  }
41
46
  /**
42
47
  * Start the daemon service
@@ -46,6 +51,15 @@ export class DaemonService {
46
51
  return;
47
52
  this.running = true;
48
53
  this.startedAt = new Date();
54
+ // Register the daemon
55
+ await this.instanceRegistry.register({
56
+ id: this.instanceId,
57
+ pid: process.pid,
58
+ cwd: this.workDir,
59
+ port: 0,
60
+ status: 'running',
61
+ project: path.basename(this.workDir)
62
+ });
49
63
  await this.log('🟢 Agent daemon started');
50
64
  await this.log(` Working directory: ${this.workDir}`);
51
65
  // Load and register triggers
@@ -55,7 +69,10 @@ export class DaemonService {
55
69
  await this.registerTrigger(trigger);
56
70
  }
57
71
  // Start heartbeat (every 60 seconds)
58
- this.heartbeatTimer = setInterval(() => this.heartbeat(), 60_000);
72
+ this.heartbeatTimer = setInterval(() => {
73
+ this.heartbeat();
74
+ this.instanceRegistry.heartbeat(this.instanceId, 'running').catch(() => { });
75
+ }, 60_000);
59
76
  // Run initial goal check
60
77
  await this.processGoalQueue();
61
78
  // Keep the process alive
@@ -224,6 +241,7 @@ export class DaemonService {
224
241
  `${this.stats.tasksCompleted} completed, ` +
225
242
  `${this.stats.tasksFailed} failed`);
226
243
  await this.log(' Goodbye.\n');
244
+ await this.instanceRegistry.unregister(this.instanceId).catch(() => { });
227
245
  process.exit(0);
228
246
  }
229
247
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/daemon/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/daemon/service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ export interface AgentInstance {
2
+ id: string;
3
+ pid: number;
4
+ cwd: string;
5
+ port: number;
6
+ status: 'idle' | 'running' | 'offline';
7
+ lastSeen: number;
8
+ project?: string;
9
+ }
10
+ export declare class InstanceRegistry {
11
+ private registryPath;
12
+ constructor();
13
+ private ensureDir;
14
+ private readRegistry;
15
+ private writeRegistry;
16
+ register(instance: Omit<AgentInstance, 'lastSeen'>): Promise<void>;
17
+ unregister(id: string): Promise<void>;
18
+ heartbeat(id: string, status?: AgentInstance['status']): Promise<void>;
19
+ listActive(): Promise<AgentInstance[]>;
20
+ private isProcessAlive;
21
+ }
22
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/instance/registry.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,aAAa;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,gBAAgB;IACzB,OAAO,CAAC,YAAY,CAAS;;YAMf,SAAS;YAKT,YAAY;YAUZ,aAAa;IAKrB,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC;IAclD,UAAU,CAAC,EAAE,EAAE,MAAM;IAMrB,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC;IAkBtD,UAAU,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAW5C,OAAO,CAAC,cAAc;CASzB"}
@@ -0,0 +1,77 @@
1
+ import { resolve } from 'node:path';
2
+ import { homedir } from 'node:os';
3
+ import { mkdir, readFile, writeFile } from 'node:fs/promises';
4
+ export class InstanceRegistry {
5
+ registryPath;
6
+ constructor() {
7
+ this.registryPath = resolve(homedir(), '.agent-runtime', 'instances.json');
8
+ }
9
+ async ensureDir() {
10
+ const dir = resolve(homedir(), '.agent-runtime');
11
+ await mkdir(dir, { recursive: true });
12
+ }
13
+ async readRegistry() {
14
+ try {
15
+ await this.ensureDir();
16
+ const raw = await readFile(this.registryPath, 'utf-8');
17
+ return JSON.parse(raw);
18
+ }
19
+ catch {
20
+ return [];
21
+ }
22
+ }
23
+ async writeRegistry(instances) {
24
+ await this.ensureDir();
25
+ await writeFile(this.registryPath, JSON.stringify(instances, null, 2));
26
+ }
27
+ async register(instance) {
28
+ let instances = await this.readRegistry();
29
+ // Remove stale/same pid
30
+ instances = instances.filter(i => this.isProcessAlive(i.pid) && i.id !== instance.id);
31
+ instances.push({
32
+ ...instance,
33
+ lastSeen: Date.now()
34
+ });
35
+ await this.writeRegistry(instances);
36
+ }
37
+ async unregister(id) {
38
+ let instances = await this.readRegistry();
39
+ instances = instances.filter(i => i.id !== id);
40
+ await this.writeRegistry(instances);
41
+ }
42
+ async heartbeat(id, status) {
43
+ let instances = await this.readRegistry();
44
+ let found = false;
45
+ for (const i of instances) {
46
+ if (i.id === id) {
47
+ i.lastSeen = Date.now();
48
+ if (status)
49
+ i.status = status;
50
+ found = true;
51
+ break;
52
+ }
53
+ }
54
+ if (found) {
55
+ await this.writeRegistry(instances);
56
+ }
57
+ }
58
+ async listActive() {
59
+ const instances = await this.readRegistry();
60
+ const active = instances.filter(i => this.isProcessAlive(i.pid));
61
+ if (active.length !== instances.length) {
62
+ await this.writeRegistry(active); // clean up zombies
63
+ }
64
+ return active;
65
+ }
66
+ isProcessAlive(pid) {
67
+ try {
68
+ // Note: kill(pid, 0) does not actually kill the process but checks if it exists
69
+ process.kill(pid, 0);
70
+ return true;
71
+ }
72
+ catch {
73
+ return false;
74
+ }
75
+ }
76
+ }
77
+ //# sourceMappingURL=registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/instance/registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function createStudioServer(): import("http").Server<typeof import("http").IncomingMessage, typeof import("http").ServerResponse>;
2
+ //# sourceMappingURL=app.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../src/server/app.ts"],"names":[],"mappings":"AAeA,wBAAgB,kBAAkB,uGAwIjC"}
@@ -0,0 +1,149 @@
1
+ import express from 'express';
2
+ import cors from 'cors';
3
+ import { createServer } from 'node:http';
4
+ import { Server } from 'socket.io';
5
+ import { InstanceRegistry } from '../instance/registry.js';
6
+ import { resolve } from 'node:path';
7
+ import { MemoryStore } from '../memory/store.js';
8
+ import { GoalStore } from '../goals/store.js';
9
+ import { ConfigLoader } from '../config/loader.js';
10
+ import { PluginLoader } from '../plugins/loader.js';
11
+ import { SkillLoader } from '../skills/loader.js';
12
+ import { CommandLoader } from '../commands/loader.js';
13
+ import { ScriptLoader } from '../scripts/loader.js';
14
+ import { HookRegistry } from '../hooks/registry.js';
15
+ export function createStudioServer() {
16
+ const app = express();
17
+ const server = createServer(app);
18
+ const io = new Server(server, { cors: { origin: '*' } });
19
+ const registry = new InstanceRegistry();
20
+ app.use(cors());
21
+ app.use(express.json());
22
+ // --- INSTANCES API ---
23
+ app.get('/api/instances', async (_req, res) => {
24
+ try {
25
+ const instances = await registry.listActive();
26
+ res.json(instances);
27
+ return;
28
+ }
29
+ catch (err) {
30
+ res.status(500).json({ error: err.message });
31
+ return;
32
+ }
33
+ });
34
+ app.get('/api/instances/:id', async (req, res) => {
35
+ try {
36
+ const instances = await registry.listActive();
37
+ const inst = instances.find(i => i.id === req.params.id);
38
+ if (!inst) {
39
+ res.status(404).json({ error: 'Instance not found' });
40
+ return;
41
+ }
42
+ res.json(inst);
43
+ return;
44
+ }
45
+ catch (err) {
46
+ res.status(500).json({ error: err.message });
47
+ return;
48
+ }
49
+ });
50
+ // --- OBSERVABILITY API ---
51
+ app.get('/api/instances/:id/memory', async (req, res) => {
52
+ try {
53
+ const instances = await registry.listActive();
54
+ const inst = instances.find(i => i.id === req.params.id);
55
+ if (!inst) {
56
+ res.status(404).json({ error: 'Instance not found' });
57
+ return;
58
+ }
59
+ const memoryStore = MemoryStore.open(inst.cwd);
60
+ const memories = memoryStore.list(undefined, 100);
61
+ res.json({
62
+ stats: memoryStore.stats(),
63
+ memories
64
+ });
65
+ return;
66
+ }
67
+ catch (err) {
68
+ res.status(500).json({ error: err.message });
69
+ return;
70
+ }
71
+ });
72
+ app.get('/api/instances/:id/goals', async (req, res) => {
73
+ try {
74
+ const instances = await registry.listActive();
75
+ const inst = instances.find(i => i.id === req.params.id);
76
+ if (!inst) {
77
+ res.status(404).json({ error: 'Instance not found' });
78
+ return;
79
+ }
80
+ const memoryStore = MemoryStore.open(inst.cwd);
81
+ const goalStore = new GoalStore(memoryStore);
82
+ // Get all tasks and cluster them by goal
83
+ const db = memoryStore.db;
84
+ const goals = db.prepare('SELECT * FROM goals ORDER BY created_at DESC').all();
85
+ const tasks = db.prepare('SELECT * FROM tasks ORDER BY created_at ASC').all();
86
+ const goalsWithTasks = goals.map((g) => ({
87
+ ...g,
88
+ tasks: tasks.filter((t) => t.goal_id === g.id)
89
+ }));
90
+ res.json({
91
+ stats: goalStore.stats(),
92
+ goals: goalsWithTasks
93
+ });
94
+ return;
95
+ }
96
+ catch (err) {
97
+ res.status(500).json({ error: err.message });
98
+ return;
99
+ }
100
+ });
101
+ app.get('/api/instances/:id/capabilities', async (req, res) => {
102
+ try {
103
+ const instances = await registry.listActive();
104
+ const inst = instances.find(i => i.id === req.params.id);
105
+ if (!inst) {
106
+ res.status(404).json({ error: 'Instance not found' });
107
+ return;
108
+ }
109
+ const configLoader = new ConfigLoader();
110
+ const config = await configLoader.load();
111
+ const skillLoader = new SkillLoader(config);
112
+ const cmdLoader = new CommandLoader();
113
+ const pluginLoader = new PluginLoader();
114
+ const scriptLoader = new ScriptLoader();
115
+ const hookRegistry = new HookRegistry();
116
+ // Load all capabilities from the agent's CWD
117
+ await skillLoader.loadAll();
118
+ await cmdLoader.loadProjectCommands(inst.cwd);
119
+ await scriptLoader.loadAll(config.scripts?.installPaths ?? ['.agent/scripts'], inst.cwd);
120
+ await hookRegistry.loadProjectHooks(inst.cwd);
121
+ const loadedPlugins = await pluginLoader.loadAll(config.plugins.installPaths, inst.cwd, skillLoader, cmdLoader, hookRegistry, scriptLoader);
122
+ res.json({
123
+ skills: skillLoader.list(),
124
+ commands: cmdLoader.list(),
125
+ scripts: scriptLoader.list(),
126
+ plugins: loadedPlugins
127
+ });
128
+ return;
129
+ }
130
+ catch (err) {
131
+ res.status(500).json({ error: err.message });
132
+ return;
133
+ }
134
+ });
135
+ // --- SOCKET.IO FOR LIVE LOGS ---
136
+ io.on('connection', (socket) => {
137
+ console.log(`[Studio] Client connected: ${socket.id}`);
138
+ // Here we will eventually stream tail -f from daemon.log or repl stdout
139
+ socket.on('disconnect', () => {
140
+ console.log(`[Studio] Client disconnected: ${socket.id}`);
141
+ });
142
+ });
143
+ // --- SERVE FRONTEND ---
144
+ const reactAppPath = resolve(process.cwd(), 'studio/dist');
145
+ app.use(express.static(reactAppPath));
146
+ app.use((_req, res) => { res.sendFile(resolve(reactAppPath, 'index.html')); });
147
+ return server;
148
+ }
149
+ //# sourceMappingURL=app.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/server/app.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
 
3
3
  In **Parts 1-5**, we built an agent with a brain, body, memory, and self-healing. But it was a closed system.
4
4
 
5
- In **v0.8.0**, we opened it up. Now anyone can extend the agent with **Plugins**, **Hooks**, and **Commands**—without touching core code.
5
+ In **v0.8.0** and **v0.9.0**, we opened it up. Now anyone can extend the agent with **Plugins**, **Hooks**, **Commands**, and **Scripts**—without touching core code.
6
6
 
7
7
  ## 🪝 Lifecycle Hooks
8
8
 
@@ -145,7 +145,7 @@ Configure availability in `agent.config.json`:
145
145
 
146
146
  ## 🔌 The Plugin System
147
147
 
148
- A **Plugin** bundles skills, commands, hooks, and tools into a single installable package.
148
+ A **Plugin** bundles skills, commands, scripts, and hooks into a single installable package.
149
149
 
150
150
  ### Plugin Structure
151
151
 
@@ -159,6 +159,10 @@ my-plugin/
159
159
  │ └── prompt.md
160
160
  ├── commands/
161
161
  │ └── audit.md
162
+ ├── scripts/
163
+ │ └── scan/
164
+ │ ├── script.yaml
165
+ │ └── run.sh
162
166
  └── hooks/
163
167
  └── hooks.json
164
168
  ```
@@ -172,6 +176,7 @@ my-plugin/
172
176
  "description": "Security scanning and compliance",
173
177
  "skills": ["skills/"],
174
178
  "commands": ["commands/"],
179
+ "scripts": ["scripts/"],
175
180
  "hooks": "hooks/hooks.json"
176
181
  }
177
182
  ```
@@ -184,7 +189,7 @@ agent plugins list # Show installed plugins
184
189
  agent plugins remove my-plugin # Uninstall
185
190
  ```
186
191
 
187
- When a plugin is installed, its skills, commands, and hooks are automatically loaded on every `agent` run.
192
+ When a plugin is installed, its skills, commands, scripts, and hooks are automatically loaded on every `agent` run.
188
193
 
189
194
  ---
190
195
 
@@ -0,0 +1,114 @@
1
+ # The Scripts System (Part 8)
2
+
3
+ In the previous parts, we explored how the Agent can execute tasks using **Skills** (complex, LLM-powered capabilities) and **Commands** (lightweight LLM templates). But what if you have a task that doesn't need AI at all? What if you just want to run a deterministic, repeatable shell or Node script, but still have it integrated into the agent's ecosystem?
4
+
5
+ In **v0.9.0**, we introduced the **Scripts System**—a way to define and run raw, non-LLM automation tasks as first-class citizens in the Agent Runtime.
6
+
7
+ ---
8
+
9
+ ## 📜 Why Mingle Scripts with AI?
10
+
11
+ There are many tasks where an LLM is overkill, slow, or too unpredictable:
12
+ 1. Running a build pipeline (`npm run build`).
13
+ 2. Deploying a branch to staging (`git push origin HEAD:staging`).
14
+ 3. Running a database migration.
15
+
16
+ By formalizing scripts in the Agent Runtime:
17
+ * **Discoverability:** The user can see all available scripts via `agent scripts list` or `/scripts` in the REPL.
18
+ * **LLM Awareness:** The LLM knows about these scripts. If a user says "deploy to staging", the LLM can see the `deploy-staging` script in its prompt and run it via `cmd.run`, rather than trying to guess the commands.
19
+ * **Structured Arguments:** You can enforce required arguments and defaults (`--branch develop`).
20
+ * **Packaging:** Scripts can be bundled inside Plugins alongside Skills and Commands.
21
+
22
+ ---
23
+
24
+ ## 🛠️ Defining a Script
25
+
26
+ A script consists of a `script.yaml` manifest and an entrypoint file (like a `.sh` or `.ts` file). They live in `.agent/scripts/<name>/`.
27
+
28
+ ### Example: `.agent/scripts/deploy-staging/script.yaml`
29
+
30
+ ```yaml
31
+ name: deploy-staging
32
+ description: Build and deploy current branch to staging
33
+ version: 1.0.0
34
+ entrypoint: deploy.sh
35
+ confirm: true
36
+ timeout: 120000
37
+ tags: [deploy, staging, ci]
38
+
39
+ env:
40
+ NODE_ENV: production
41
+ DEPLOY_TARGET: staging
42
+
43
+ args:
44
+ branch:
45
+ description: Branch to deploy
46
+ default: main
47
+ required: false
48
+ skip-tests:
49
+ description: Skip the test suite before deploying
50
+ type: boolean
51
+ default: false
52
+ ```
53
+
54
+ ### The Entrypoint: `deploy.sh`
55
+
56
+ The runner automatically injects arguments as `SCRIPT_ARG_*` environment variables.
57
+
58
+ ```bash
59
+ #!/bin/bash
60
+ set -e
61
+
62
+ echo "🚀 Deploy to Staging"
63
+ echo "Branch: ${SCRIPT_ARG_BRANCH}"
64
+ echo "Skip Tests: ${SCRIPT_ARG_SKIP_TESTS}"
65
+
66
+ if [ "$SCRIPT_ARG_SKIP_TESTS" != "true" ]; then
67
+ npm test
68
+ fi
69
+
70
+ npm run build
71
+ git push origin HEAD:staging
72
+ ```
73
+
74
+ ---
75
+
76
+ ## 🏃 Execution & Auto-Detection
77
+
78
+ When you execute a script, the runner spins up a child process. It determines the interpreter cleanly based on the file extension:
79
+ * `.sh` / `.bash` → `bash`
80
+ * `.ts` / `.mts` → `npx tsx`
81
+ * `.js` / `.mjs` → `node`
82
+ * `.py` → `python3`
83
+ * No extension → Exectued directly (must be executable)
84
+
85
+ You can override this by setting `interpreter: python3` in the manifest.
86
+
87
+ ### Execution Context
88
+
89
+ The execution provides standard isolation:
90
+ * **Timeouts:** Long-running scripts are killed automatically based on `timeout` in the manifest.
91
+ * **Working Directory:** Executes in the project directory, resolving any relative `cwd` parameters.
92
+ * **Confirmation:** If `confirm: true` is set, the CLI prompts the user before executing.
93
+
94
+ ---
95
+
96
+ ## 💬 The Resolution Chain (How the Agent Decides)
97
+
98
+ When you type something into the CLI like `agent run deploy-staging`, the runtime follows an exact resolution chain to handle ambiguity:
99
+
100
+ 1. **Explicit Skill Flag:** `agent run -s my-skill deploy` → Runs `my-skill`.
101
+ 2. **Command Name Match:** Does `.agent/commands/deploy-staging.md` exist? → Runs the command template through the LLM.
102
+ 3. **Script Name Match:** Does `.agent/scripts/deploy-staging/script.yaml` exist? → Spawns the script directly natively, bypassing the LLM.
103
+ 4. **General Goal:** If no match is found, it sends "deploy-staging" as a natural language goal to the LLM agentic loop.
104
+
105
+ In the REPL, you can call scripts directly using slash commands:
106
+ ```text
107
+ > /scripts
108
+ 📜 Scripts (1)
109
+ deploy-staging — Build and deploy current branch to staging
110
+
111
+ > agent scripts run deploy-staging --branch canary
112
+ ```
113
+
114
+ By adding scripts to the ecosystem, the Agent Runtime becomes a unified hub for *all* project automation—balancing the creativity of LLM-driven Tasks with the rock-solid reliability of deterministic Shell scripts.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@praveencs/agent",
3
- "version": "0.9.0",
3
+ "version": "0.9.2",
4
4
  "files": [
5
5
  "dist",
6
6
  "bin",
@@ -53,8 +53,10 @@
53
53
  "chalk": "^5.4.1",
54
54
  "chokidar": "^4.0.3",
55
55
  "commander": "^13.1.0",
56
+ "cors": "^2.8.6",
56
57
  "croner": "^9.0.0",
57
58
  "diff": "^7.0.0",
59
+ "express": "^5.2.1",
58
60
  "glob": "^11.0.1",
59
61
  "hnswsqlite": "^0.2.0",
60
62
  "inquirer": "^12.4.0",
@@ -63,12 +65,15 @@
63
65
  "ora": "^8.2.0",
64
66
  "pino": "^9.6.0",
65
67
  "pino-pretty": "^13.0.0",
68
+ "socket.io": "^4.8.3",
66
69
  "yaml": "^2.7.0",
67
70
  "zod": "^3.24.2"
68
71
  },
69
72
  "devDependencies": {
70
73
  "@types/better-sqlite3": "^7.6.13",
74
+ "@types/cors": "^2.8.19",
71
75
  "@types/diff": "^7.0.0",
76
+ "@types/express": "^5.0.6",
72
77
  "@types/inquirer": "^9.0.7",
73
78
  "@types/node": "^22.13.0",
74
79
  "eslint": "^9.19.0",
@@ -78,4 +83,4 @@
78
83
  "tsx": "^4.19.2",
79
84
  "typescript": "^5.7.3"
80
85
  }
81
- }
86
+ }