create-loopengine 0.1.6 → 0.1.7
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/package.json +1 -1
- package/template/README.md +34 -0
- package/template/package.json +1 -1
package/package.json
CHANGED
package/template/README.md
CHANGED
|
@@ -40,6 +40,40 @@ npm run cli -- --agent example-agent "what is the weather in Boston?"
|
|
|
40
40
|
add, no adapter change.
|
|
41
41
|
3. Call it at `/agents/your-agent/messages`.
|
|
42
42
|
|
|
43
|
+
A flat file like this is enough for most agents. An agent can also be a
|
|
44
|
+
*folder* — `agents/your-agent/index.ts` instead of `agents/your-agent.ts`
|
|
45
|
+
— which unlocks per-agent `tools/`, `skills/`, and `actauth.yml` defaults,
|
|
46
|
+
and lets it have its own subagents (see below). `loopengine`'s own CLI
|
|
47
|
+
scaffolds that folder form for you:
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
npx loopengine add-agent your-agent
|
|
51
|
+
# -> Created agents/your-agent/index.ts
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Composing agents (subagents)
|
|
55
|
+
|
|
56
|
+
An agent's tools can be other agents. Drop a folder under
|
|
57
|
+
`agents/<name>/subagents/<child>/` and `child` becomes one of `name`'s
|
|
58
|
+
tools automatically — no import, no wiring. This requires `name` itself
|
|
59
|
+
to be in folder form (see above), since a flat file has no folder to nest
|
|
60
|
+
`subagents/` under:
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
npx loopengine add-agent support-orchestrator
|
|
64
|
+
npx loopengine add-subagent support-orchestrator billing-agent
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
`billing-agent` is then a normal `AgentConfig` (own tools, own
|
|
68
|
+
permission rules) plus one required field, `toolDescription` — the text
|
|
69
|
+
`support-orchestrator`'s model reads to decide when to delegate to it.
|
|
70
|
+
Calling that tool runs `billing-agent`'s whole loop to completion and
|
|
71
|
+
returns only its final answer; `support-orchestrator` never sees its
|
|
72
|
+
turns or tool calls. See
|
|
73
|
+
[loopengine's own README section on subagents](https://github.com/evanyan22/loopengine#4-subagents--an-agent-as-another-agents-tool)
|
|
74
|
+
for nesting, permission scoping, and the tradeoffs worth knowing before
|
|
75
|
+
reaching for this.
|
|
76
|
+
|
|
43
77
|
## Project layout
|
|
44
78
|
|
|
45
79
|
```
|