@kolisachint/hoocode-agent 0.5.28 → 0.5.30

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 (32) hide show
  1. package/CHANGELOG.md +71 -0
  2. package/dist/cli/args.d.ts.map +1 -1
  3. package/dist/cli/args.js +4 -2
  4. package/dist/cli/args.js.map +1 -1
  5. package/dist/core/light.d.ts +9 -0
  6. package/dist/core/light.d.ts.map +1 -1
  7. package/dist/core/light.js +12 -4
  8. package/dist/core/light.js.map +1 -1
  9. package/dist/core/settings-manager.d.ts +8 -0
  10. package/dist/core/settings-manager.d.ts.map +1 -1
  11. package/dist/core/settings-manager.js +12 -0
  12. package/dist/core/settings-manager.js.map +1 -1
  13. package/dist/core/settings-types.d.ts.map +1 -1
  14. package/dist/core/settings-types.js.map +1 -1
  15. package/dist/main.d.ts.map +1 -1
  16. package/dist/main.js +6 -5
  17. package/dist/main.js.map +1 -1
  18. package/dist/modes/interactive/components/settings-selector.d.ts +31 -0
  19. package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
  20. package/dist/modes/interactive/components/settings-selector.js +245 -51
  21. package/dist/modes/interactive/components/settings-selector.js.map +1 -1
  22. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  23. package/dist/modes/interactive/interactive-mode.js +43 -1
  24. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  25. package/docs/plugins.md +3 -2
  26. package/docs/settings.md +64 -0
  27. package/docs/usage.md +3 -3
  28. package/examples/extensions/custom-provider-anthropic/package.json +1 -1
  29. package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  30. package/examples/extensions/sandbox/package.json +1 -1
  31. package/examples/extensions/with-deps/package.json +1 -1
  32. package/package.json +4 -4
package/docs/plugins.md CHANGED
@@ -107,8 +107,9 @@ Then package for distribution:
107
107
 
108
108
  ## Model-facing tools
109
109
 
110
- When plugin tooling is enabled (`--enable-plugintools`, or the
111
- `enablePluginTools` setting), the model gets its own lifecycle tools rather than
110
+ When plugin tooling is enabled (`--enable-plugintools`, the `enablePluginTools`
111
+ setting, or `/settings` under **Plugins**), the model gets its own lifecycle
112
+ tools rather than
112
113
  going through the slash command: `SearchPlugins`, `ListPlugins`,
113
114
  `SuggestPluginInstall`, `InstallPlugin`, `UninstallPlugin`, `UpdatePlugin`,
114
115
  `ProposePlugin`, `RemovePluginCapability`, and `PackagePlugin`.
package/docs/settings.md CHANGED
@@ -101,6 +101,27 @@ Set `HOOCODE_SKIP_VERSION_CHECK=1` to disable the HooCode version update check.
101
101
  }
102
102
  ```
103
103
 
104
+ ### Context budget
105
+
106
+ Everything in the system prompt and in an active tool's schema is re-sent on
107
+ every request. These three settings decide how large that is, and `/settings`
108
+ groups them under **Context** with the live per-turn cost printed under the
109
+ list.
110
+
111
+ | Setting | Type | Default | Description |
112
+ |---------|------|---------|-------------|
113
+ | `light` | boolean | `false` | Low-token preset: `read`/`write`/`edit`/`bash` only with stripped schemas, a terse system prompt, and no subagents/TodoWrite/skills/context files |
114
+ | `contextGc` | boolean | `true` | Stub superseded read results out of the outgoing context |
115
+
116
+ `light` is read at startup to pick the tool set and the system prompt, so
117
+ toggling it in `/settings` applies on the next session. `--light` turns it on
118
+ for a single run. Auto-compaction lives in the same category and is documented
119
+ under [Compaction](#compaction).
120
+
121
+ `/settings` also prices each tool by what its schema costs per turn, on the
122
+ switch itself, so it is clear which one is worth turning off. `hoocode
123
+ --print-token-surface` prints the same measurement as text.
124
+
104
125
  ### Branch Summary
105
126
 
106
127
  | Setting | Type | Default | Description |
@@ -222,6 +243,49 @@ narrowing the window to nothing. As with all settings, a project
222
243
  `.hoocode/settings.json` overrides the global one, so a repo can carry its own
223
244
  window.
224
245
 
246
+ ### Plugins and artifacts
247
+
248
+ Where hoocode writes what it authors. Both are editable from `/settings` under
249
+ **Plugins**, which writes the global settings file — the layout a machine
250
+ targets is an environment-level choice, so it is set once rather than passed on
251
+ every run.
252
+
253
+ | Setting | Type | Default | Description |
254
+ |---------|------|---------|-------------|
255
+ | `enablePluginTools` | boolean | `false` | Master switch for the autonomous plugin system: the lifecycle tools, `ProposePlugin`, and the plugin-reuse nudge |
256
+ | `platform` | string \| string[] | - | Vendor layout(s) to write artifacts in: `claude`, `github` (aliases `copilot`, `gh`), `agents` (alias `native`) |
257
+ | `pluginInstallScope` | string | `"user"` | Where an autonomous plugin install lands: `user` (`~/.agents/plugins`) or `project` (`<cwd>/.agents/plugins`, shared once committed) |
258
+
259
+ ```json
260
+ { "enablePluginTools": true, "platform": ["claude", "github"], "pluginInstallScope": "user" }
261
+ ```
262
+
263
+ `/settings` writes the global file. If a project `.hoocode/settings.json` sets
264
+ one of these keys it is merged over that on the next session, so the pane marks
265
+ the row as overridden rather than letting the change look permanent.
266
+
267
+ `enablePluginTools` is off by default and is the one gate for the whole
268
+ autonomous system — see [Plugins](plugins.md). Toggling it in `/settings`
269
+ attaches the tools on the next session, since they are wired up when the session
270
+ is built; the reuse nudge re-reads the setting and follows immediately. The
271
+ `--enable-plugintools` flag turns it on for a single run. Slash-command plugin
272
+ management (`/plugin`) is unaffected either way.
273
+
274
+ `platform` governs the two things hoocode *writes*: authored plugins, and the
275
+ `/new-skill`, `/new-agent` and `/new-command` scaffolds. Reading is unaffected —
276
+ every vendor convention is read regardless of this setting.
277
+
278
+ It takes a list because emitting for two platforms at once is a supported shape;
279
+ in `/settings` the three tokens are independent toggles for that reason.
280
+ Unsetting it (all toggles off) is not the same as targeting nothing: the
281
+ defaults come back, which are `claude` for an authored plugin and `.hoocode/`
282
+ for a scaffold. `agents` is a scaffold-only target — a plugin is a distribution
283
+ unit and the native layout belongs to no marketplace — so plugin authoring
284
+ filters it out rather than failing.
285
+
286
+ The `--platform` CLI flag sets the same targets for a single run and overrides
287
+ this setting.
288
+
225
289
  ### Model Cycling
226
290
 
227
291
  | Setting | Type | Default | Description |
package/docs/usage.md CHANGED
@@ -371,9 +371,9 @@ hoocode --no-extensions -e ./my-extension.ts
371
371
 
372
372
  #### Light mode
373
373
 
374
- `--light` (or the `light` setting) trims the session to the smallest useful
375
- fixed per-turn surface, for small or local models that waste context on harness
376
- boilerplate:
374
+ `--light` (or the `light` setting, editable in `/settings` under **Context**)
375
+ trims the session to the smallest useful fixed per-turn surface, for small or
376
+ local models that waste context on harness boilerplate:
377
377
 
378
378
  - Only `read`, `write`, `edit`, and `bash`, with short descriptions and stripped
379
379
  parameter schemas. `bash` subsumes grep/find/ls — search happens via the shell.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@kolisachint/hoocode-extension-custom-provider-anthropic",
3
3
  "private": true,
4
- "version": "0.3.28",
4
+ "version": "0.3.30",
5
5
  "type": "module",
6
6
  "engines": {
7
7
  "bun": ">=1.0.0"
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@kolisachint/hoocode-extension-custom-provider-gitlab-duo",
3
3
  "private": true,
4
- "version": "0.3.28",
4
+ "version": "0.3.30",
5
5
  "type": "module",
6
6
  "engines": {
7
7
  "bun": ">=1.0.0"
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@kolisachint/hoocode-extension-sandbox",
3
3
  "private": true,
4
- "version": "0.3.28",
4
+ "version": "0.3.30",
5
5
  "type": "module",
6
6
  "engines": {
7
7
  "bun": ">=1.0.0"
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@kolisachint/hoocode-extension-with-deps",
3
3
  "private": true,
4
- "version": "0.3.28",
4
+ "version": "0.3.30",
5
5
  "type": "module",
6
6
  "engines": {
7
7
  "bun": ">=1.0.0"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kolisachint/hoocode-agent",
3
- "version": "0.5.28",
3
+ "version": "0.5.30",
4
4
  "description": "Coding agent CLI with read, bash, edit, write tools and session management",
5
5
  "type": "module",
6
6
  "hoocodeConfig": {
@@ -49,9 +49,9 @@
49
49
  "prepublishOnly": "npm run clean && npm run build"
50
50
  },
51
51
  "dependencies": {
52
- "@kolisachint/hoocode-agent-core": "^0.5.28",
53
- "@kolisachint/hoocode-ai": "^0.5.28",
54
- "@kolisachint/hoocode-tui": "^0.5.28",
52
+ "@kolisachint/hoocode-agent-core": "^0.5.30",
53
+ "@kolisachint/hoocode-ai": "^0.5.30",
54
+ "@kolisachint/hoocode-tui": "^0.5.30",
55
55
  "@silvia-odwyer/photon-node": "^0.3.4",
56
56
  "chalk": "^5.5.0",
57
57
  "cli-highlight": "^2.1.11",