pi-subagents-lite 0.4.0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -13,14 +13,14 @@ Every tool the LLM sees costs tokens — in the system prompt, and in every turn
13
13
 
14
14
  | Standard | Schema-first |
15
15
  |---|---|
16
- | `description: "Spawn a sub-agent"` | `description: "."` |
16
+ | `description: "Spawn a sub-agent"` | _(removed)_ |
17
17
  | `promptSnippet` with usage examples | _(none)_ |
18
18
  | `promptGuidelines` with rules | _(none)_ |
19
19
  | Parameters with `.description()` | Bare `Type.String()` |
20
20
 
21
21
  Tool names like `Agent` and `StopAgent`, and parameter names like `prompt`, `description`, `run_in_background` are self-documenting. The LLM infers usage from the schema — no verbose descriptions needed. Tool results reinforce correct usage with clear success/error messages.
22
22
 
23
- **Result:** foreground and background agents, custom agent types, per-model concurrency, cost tracking, steering, resume, model overrides — all with minimal token overhead.
23
+ **Result:** foreground and background agents, custom agent types, per-model concurrency, cost tracking, steering, model overrides — all with minimal token overhead.
24
24
 
25
25
  ## Features
26
26
 
@@ -32,7 +32,7 @@ Tool names like `Agent` and `StopAgent`, and parameter names like `prompt`, `des
32
32
  - **Cost tracking** — input/output/cache tokens and dollar cost per agent
33
33
  - **Live widget** — persistent status bar above the editor showing running/completed agents
34
34
  - **Result viewer** — fullscreen markdown viewer with stats
35
- - **Steer & resume** — inject mid-execution guidance or continue a previous conversation
35
+ - **Steer** — inject mid-execution guidance into running agents
36
36
  - **Output logs** — human-readable, `tail -f` friendly
37
37
 
38
38
  ## Install
@@ -95,7 +95,6 @@ Stop a running agent at any time via /agents command
95
95
  | `description` | ✅ | Brief description for the LLM caller |
96
96
  | `agent` | | Type name — `general-purpose`, `Explore`, or any custom type you define (see [Custom Agent Types](#custom-agent-types)). The available values are **auto-populated** from `.md` files in your agent directories — drop a file, it appears in the enum. Set `enabled: false` in frontmatter to remove a type from this list. |
97
97
  | `run_in_background` | | Fire-and-forget; result delivered automatically when done |
98
- | `resume` | | Agent ID to continue a previous conversation |
99
98
 
100
99
  > `model`, `max_turns`, `isolated`, and `thinking` are **not visible to the LLM** through tool introspection — the extension injects them at call time from agent config and frontmatter. `model` is resolved via the [Model Resolution](#model-resolution) chain; `max_turns`/`isolated`/`thinking` come from the agent's config. See [Custom Agent Types](#custom-agent-types) to set them.
101
100
 
@@ -134,7 +133,8 @@ focusing on injection flaws, auth bypasses, and insecure defaults.
134
133
  | `tools` | string[] | Built-in tool allowlist: `read`, `bash`, `edit`, `write`, `grep`, `find`, `ls`. If omitted, inherits all. |
135
134
  | `disallowed_tools` | string[] | Tool denylist — removes these from the agent's toolset even if allowlisted by `tools` or extensions. |
136
135
  | `extensions` | bool \| string[] | `false` = no extension tools; `true` = inherit all; `["ext-a"]` = allowlist. |
137
- | `skills` | bool \| string[] | `false` = no skill prompts; `true` = inherit all; `["skill-a"]` = only these. |
136
+ | `skills` | bool \| string[] | `false` = no skills; `true` = inherit all; `["skill-a"]` = metadata-only injection (agent reads full content on-demand). |
137
+ | `preload_skills` | string[] \| false | `["skill-a"]` = dump full SKILL.md content into system prompt (old `skills` behavior). `false`/omitted = none. |
138
138
  | `model` | string | Default model as `"provider/model-id"`. Override via `/agents` or `subagents-lite.json`. |
139
139
  | `thinking` | string | Default thinking level: `off`, `minimal`, `low`, `medium`, `high`, `xhigh`. |
140
140
  | `max_turns` | number | Turn limit (soft stop with steer). |
@@ -150,8 +150,9 @@ Every tool schema and every skill snippet you inject costs tokens — in every t
150
150
  | `tools: [a, b, c]` | Which built-in tools the LLM sees | High — each tool has a schema (name, params, description) injected every turn. Fewer tools = fewer tokens. |
151
151
  | `extensions: false` | Disables all extension-provided tools | Medium — extensions can register many tools (linters, browsers, etc.). Each adds schema tokens. |
152
152
  | `extensions: ["my-ext"]` | Allowlist only specific extensions | Medium — pick only what the agent needs. |
153
- | `skills: false` | Prevents skill content from being injected into the system prompt | **Highest**skill prompts are prose, not schemas. A verbose skill can be 10-50x the token cost of a tool schema. |
154
- | `skills: ["skill-a"]` | Inject only listed skills (preloaded inline) | Medium you control exactly which skills appear. |
153
+ | `skills: ["skill-a"]` | Whitelist skills injects metadata only (name, description, location) | Lowagent reads full content on-demand via `read` tool. No prose in system prompt. |
154
+ | `skills: false` | Disables all skills | Zero skill tokens. |
155
+ | `preload_skills: ["skill-a"]` | Dump full SKILL.md content into system prompt | **Highest** — skill prompts are prose, not schemas. A verbose skill can be 10-50x the token cost of a tool schema. |
155
156
  | `isolated: true` | Shorthand for `extensions: false` + `skills: false` | High — zero extension tools, zero skill prompts. Useful for fast, focused agents. |
156
157
 
157
158
  **Practical example:** An `Explore` agent that only reads files doesn't need write tools, browser extensions, or git skills. Setting `tools: [read, bash, grep, find, ls]` + `extensions: false` + `skills: false` saves thousands of tokens per turn compared to inheriting everything.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pi-subagents-lite",
3
- "version": "0.4.0",
3
+ "version": "0.4.1",
4
4
  "description": "Lightweight sub-agents for pi — spawn specialized agents with isolated sessions, tools, and models.",
5
5
  "keywords": [
6
6
  "pi-package",
package/src/index.ts CHANGED
@@ -5,8 +5,7 @@
5
5
  *
6
6
  * Stealth tool registration:
7
7
  * - All tools register at extension init (not runtime)
8
- * - description: "." (single character — tells LLM nothing)
9
- * - No promptSnippet, no promptGuidelines
8
+ * - No description, no promptSnippet, no promptGuidelines
10
9
  * - Parameters without .description()
11
10
  * - Model parameter removed from schema — injected via tool_call listener
12
11
  *