@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 +54 -3
- package/dist/src/cli/commands/studio-cmd.d.ts +3 -0
- package/dist/src/cli/commands/studio-cmd.d.ts.map +1 -0
- package/dist/src/cli/commands/studio-cmd.js +38 -0
- package/dist/src/cli/commands/studio-cmd.js.map +1 -0
- package/dist/src/cli/index.d.ts.map +1 -1
- package/dist/src/cli/index.js +2 -0
- package/dist/src/cli/index.js.map +1 -1
- package/dist/src/cli/repl.d.ts.map +1 -1
- package/dist/src/cli/repl.js +20 -2
- package/dist/src/cli/repl.js.map +1 -1
- package/dist/src/daemon/service.d.ts +2 -0
- package/dist/src/daemon/service.d.ts.map +1 -1
- package/dist/src/daemon/service.js +19 -1
- package/dist/src/daemon/service.js.map +1 -1
- package/dist/src/instance/registry.d.ts +22 -0
- package/dist/src/instance/registry.d.ts.map +1 -0
- package/dist/src/instance/registry.js +77 -0
- package/dist/src/instance/registry.js.map +1 -0
- package/dist/src/server/app.d.ts +2 -0
- package/dist/src/server/app.d.ts.map +1 -0
- package/dist/src/server/app.js +149 -0
- package/dist/src/server/app.js.map +1 -0
- package/docs/articles/06-plugin-ecosystem.md +8 -3
- package/docs/articles/08-scripts-system.md +114 -0
- package/package.json +7 -2
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.
|
|
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 @@
|
|
|
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;
|
|
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"}
|
package/dist/src/cli/index.js
CHANGED
|
@@ -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;
|
|
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":"
|
|
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"}
|
package/dist/src/cli/repl.js
CHANGED
|
@@ -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.
|
|
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
|
}
|
package/dist/src/cli/repl.js.map
CHANGED
|
@@ -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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/daemon/service.ts"],"names":[],"mappings":"
|
|
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(() =>
|
|
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 @@
|
|
|
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 **
|
|
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,
|
|
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.
|
|
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
|
+
}
|