@moikapy/lich 0.6.0 → 0.7.0

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 (36) hide show
  1. package/CHANGELOG.md +20 -1
  2. package/README.md +26 -3
  3. package/dist/{chunk-JC2G3XH2.js → chunk-JYURFAGB.js} +2 -2
  4. package/dist/{chunk-7HLVKVIG.js → chunk-QVJCIZIF.js} +732 -10
  5. package/dist/chunk-QVJCIZIF.js.map +1 -0
  6. package/dist/chunk-SAEB3QL3.js +58 -0
  7. package/dist/chunk-SAEB3QL3.js.map +1 -0
  8. package/dist/cli.js +243 -17
  9. package/dist/cli.js.map +1 -1
  10. package/dist/{gateway-RJFZJEUZ.js → gateway-5BG3YCZF.js} +2 -2
  11. package/dist/index.d.ts +260 -154
  12. package/dist/index.js +5 -3
  13. package/dist/{tui-LOUJVZ6A.js → tui-L6RABP2J.js} +4 -4
  14. package/docs/.vitepress/config.mts +4 -0
  15. package/docs/architecture/overview.md +31 -18
  16. package/docs/architecture/plugins.md +1 -1
  17. package/docs/architecture/tools.md +7 -2
  18. package/docs/getting-started.md +7 -6
  19. package/docs/index.md +5 -4
  20. package/docs/user-guide/cli.md +20 -8
  21. package/docs/user-guide/games.md +1 -1
  22. package/docs/user-guide/godot.md +3 -1
  23. package/docs/user-guide/library.md +4 -2
  24. package/docs/user-guide/plugins.md +2 -2
  25. package/docs/user-guide/redot.md +93 -0
  26. package/docs/user-guide/tui.md +2 -2
  27. package/examples/game_bridge/README.md +2 -0
  28. package/optional-mcps/godot/manifest.json +6 -0
  29. package/optional-mcps/redot/manifest.json +18 -0
  30. package/package.json +2 -1
  31. package/dist/chunk-6M6OAQGN.js +0 -17
  32. package/dist/chunk-6M6OAQGN.js.map +0 -1
  33. package/dist/chunk-7HLVKVIG.js.map +0 -1
  34. /package/dist/{chunk-JC2G3XH2.js.map → chunk-JYURFAGB.js.map} +0 -0
  35. /package/dist/{gateway-RJFZJEUZ.js.map → gateway-5BG3YCZF.js.map} +0 -0
  36. /package/dist/{tui-LOUJVZ6A.js.map → tui-L6RABP2J.js.map} +0 -0
package/CHANGELOG.md CHANGED
@@ -1,6 +1,25 @@
1
1
  # Changelog
2
2
 
3
- ## 0.6.0 (unreleased)
3
+ ## 0.7.0 (unreleased)
4
+
5
+ - add a general MCP client. `mcp_servers` is a closed record of named
6
+ stdio or loopback-http entries, default off. tool names are
7
+ `mcp_<server>_<tool>`. `tools_enabled: []` drops them. the commander
8
+ persona does not copy `mcp_servers`. redot is a catalog entry (local
9
+ `redot` binary, `--headless --mcp-server --path <project>`, five
10
+ upstream controllers, no execute). godot has no official server; lich
11
+ does not download a community addon. play stays the webhook and
12
+ game_bridge, the opposite direction. see docs/user-guide/redot.md.
13
+ - add `lich mcp` to list, add, enable, disable, and remove servers.
14
+ add uses the catalog or `--command`/`--url`, stays disabled, and
15
+ updates `.lich/config.json` through the existing writer without
16
+ dropping other keys.
17
+ - sync user docs with this tree. the published package is 0.6.0
18
+ (`lich --version` reads package.json). MCP commands are not in that
19
+ package. CLI, config, plugin load, and sidebar links match the code.
20
+ 0.7.0 is not released.
21
+
22
+ ## 0.6.0
4
23
 
5
24
  - document a per-persona orchestrator example: one agent per NPC, the
6
25
  webhook `POST /message` shape, and history serialization the game repo
package/README.md CHANGED
@@ -30,10 +30,13 @@ mythology lives in display strings only.
30
30
  | --- | --- |
31
31
  | [Docs home](docs/index.md) | Overview, feature map, and a 60-second quickstart. |
32
32
  | [Getting started](docs/getting-started.md) | Zero-to-first-reply: install, config paths, one-shot, TUI, gateway. |
33
- | [CLI reference](docs/user-guide/cli.md) | All four modes, flags, provider resolution, config schema, recipes. |
33
+ | [CLI reference](docs/user-guide/cli.md) | Modes, flags, provider resolution, config schema, `lich mcp`, recipes. |
34
34
  | [TUI guide](docs/user-guide/tui.md) | Launch, slash commands, status bar, memory semantics. |
35
35
  | [Gateway guide](docs/user-guide/gateway.md) | Webhook/Telegram/Discord/Twitch setup and the webhook API. |
36
36
  | [Library guide](docs/user-guide/library.md) | Embedding: `create_agent`, events, multi-turn history, errors. |
37
+ | [Plugins guide](docs/user-guide/plugins.md) | User tools and hooks, and the self-improvement loop. |
38
+ | [Godot guide](docs/user-guide/godot.md) | The game connects to lich (webhook + `game_bridge`). |
39
+ | [Redot guide](docs/user-guide/redot.md) | lich connects to editor MCP servers. Redot is a catalog entry. |
37
40
  | [Games guide](docs/user-guide/games.md) | Session JSONL as a combat log, and jq recipes over it. |
38
41
  | [Persona example](examples/persona_orchestrator/README.md) | Per-NPC agents the game repo copies. Not a second core. |
39
42
 
@@ -63,7 +66,8 @@ lich gateway webhook
63
66
 
64
67
  The CLI has four modes: **one-shot** (`lich "task"`), **chat**
65
68
  (`lich chat`), **tui** (`lich tui`), and **gateway**
66
- (`lich gateway <platform...>`).
69
+ (`lich gateway <platform...>`). Other commands do not start an agent:
70
+ `lich init`, `lich config`, `lich update`, and `lich mcp`.
67
71
 
68
72
  Or use a JSON config file: `lich --config lich.json "task"` (see
69
73
  `AgentConfig` in `src/agent/config.ts` for the schema).
@@ -113,7 +117,9 @@ snake_case args and are registered under the `builtin` toolset.
113
117
  Customize lich with your own tools and lifecycle hooks: keep a `Plugin`
114
118
  object (`{name, tools?, hooks?}`) in your repo, list its file path in the
115
119
  `plugins` config array, and the agent merges your tools and lets your hooks
116
- observe or veto tool calls. See
120
+ observe or veto tool calls. Bare `lich`, one-shot, chat, tui, and gateway
121
+ all load `config.plugins` (`create_agent_with_plugins`). `create_agent` does
122
+ not. See
117
123
  [docs/user-guide/plugins.md](docs/user-guide/plugins.md).
118
124
 
119
125
  Skills are markdown files you write to `.lich/skills/` with `write_file`;
@@ -241,6 +247,23 @@ compression notices still start with `context compressed`.
241
247
  `welcome` substitutes `{version}`, `{model}`, and `{kind}`. `notices.compressed`
242
248
  substitutes `{chars}`; `notices.sessions` substitutes `{count}`.
243
249
 
250
+ ## Editor MCP
251
+
252
+ Two directions. lich connects **to** an editor MCP server (stdio local
253
+ command, or loopback HTTP). The game connects **to** lich through the webhook
254
+ and [`examples/game_bridge`](examples/game_bridge/README.md). Default is off.
255
+ `mcp_servers` is a closed record. Names are `mcp_<server>_<tool>`. `npx`,
256
+ `npm`, `bunx`, `uvx`, `curl`, `wget`, remote URLs, and shell metacharacters
257
+ are refused.
258
+
259
+ This source has `lich mcp list|add|enable|disable|remove` (changelog 0.7.0,
260
+ unreleased). The published npm package is 0.6.0 and does not include those
261
+ commands; `lich --version` still prints `0.6.0` because it reads
262
+ `package.json`. From a clone: `bun src/cli.ts mcp list`. Redot is a catalog
263
+ entry (`redot --headless --mcp-server`), not a fork inside lich. Godot has
264
+ no official MCP server; lich does not download a community addon. See
265
+ [docs/user-guide/redot.md](docs/user-guide/redot.md).
266
+
244
267
  ## Development
245
268
 
246
269
  ```sh
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  logger
3
- } from "./chunk-7HLVKVIG.js";
3
+ } from "./chunk-QVJCIZIF.js";
4
4
 
5
5
  // src/util/theme.ts
6
6
  import { readFileSync } from "fs";
@@ -89,4 +89,4 @@ export {
89
89
  notice_flavor,
90
90
  load_theme
91
91
  };
92
- //# sourceMappingURL=chunk-JC2G3XH2.js.map
92
+ //# sourceMappingURL=chunk-JYURFAGB.js.map