Commit Graph

5071 Commits

Author SHA1 Message Date
Peter Steinberger
b20e61743f docs: define E.164 in WhatsApp routing 2026-01-12 01:28:52 +00:00
Peter Steinberger
1dff375d2d docs: clarify WhatsApp DM routing per agent 2026-01-12 01:28:11 +00:00
Peter Steinberger
60d2d2715b chore: update changelog 2026-01-12 01:27:48 +00:00
Peter Steinberger
349d671a80 test: extend plugins docker e2e 2026-01-12 01:27:48 +00:00
Peter Steinberger
e65cceaf44 docs: expand plugin quickstart 2026-01-12 01:27:48 +00:00
Peter Steinberger
5442dd4efb style: format plugin install test 2026-01-12 01:27:01 +00:00
Peter Steinberger
cf51d61b8f docs: explain multi-agent WhatsApp DM routing 2026-01-12 01:25:56 +00:00
Peter Steinberger
d9f9a8a0f6 fix: load plugin packages from config dirs 2026-01-12 01:25:56 +00:00
Peter Steinberger
072c5696e2 test: pack plugin archives via npm 2026-01-12 01:25:40 +00:00
Peter Steinberger
9d40555147 fix(sandbox): avoid sandboxing main DM sessions 2026-01-12 01:24:44 +00:00
Peter Steinberger
fc1a132ff5 docs: clarify bun patch fallback 2026-01-12 01:20:47 +00:00
Peter Steinberger
decb9b2dc5 docs: document plugin system 2026-01-12 01:16:46 +00:00
Peter Steinberger
ac6f2643bc test: plugin install + docker e2e 2026-01-12 01:16:42 +00:00
Peter Steinberger
d72f800c90 feat: plugin system + voice-call 2026-01-12 01:16:39 +00:00
Peter Steinberger
dc8696f008 docs: add Linux skills + Homebrew FAQ 2026-01-12 01:16:35 +00:00
Peter Steinberger
0ac2251caa docs: add install page 2026-01-12 01:08:06 +00:00
Peter Steinberger
9927c05c63 Merge branch 'land/pr-709' 2026-01-12 01:06:34 +00:00
Peter Steinberger
2570f88d74 fix(gateway): canonicalize main session aliases 2026-01-12 01:05:43 +00:00
Peter Steinberger
56977529f0 docs: switch MiniMax setup to configure 2026-01-12 01:02:43 +00:00
Peter Steinberger
ab2bb0587f docs: note installer git method 2026-01-12 00:59:17 +00:00
Peter Steinberger
b48db40f45 docs: add MiniMax provider page 2026-01-12 00:57:17 +00:00
user
fb8cef20cc fix(gateway): normalize session key to canonical form before store writes
Ensure 'main' alias is always stored as 'agent:main:main' to prevent
duplicate entries. Also update loadSessionEntry to check both forms
when looking up entries.

Fixes duplicate main sessions in session store.
2026-01-12 00:53:20 +00:00
user
cb0f4c8aa7 fix(subagent): make announce prompt more emphatic
The previous prompt was too permissive about skipping announcements.
Updated to strongly encourage announcing results since the requester
is waiting for a response.

- Add 'You MUST announce your result' instruction
- Clarify ANNOUNCE_SKIP is only for complete failures
- Improve guidance on providing useful summaries
2026-01-12 00:52:36 +00:00
user
563d40976c fix(subagent): wait for completion before announce
The previous immediate probe (timeoutMs: 0) only caught already-completed
runs. Cross-process spawns need to actually wait via agent.wait RPC for
the gateway to signal completion, then trigger the announce flow.

- Rename probeImmediateCompletion to waitForSubagentCompletion
- Use 10 minute wait timeout for agent.wait RPC
- Remove leftover debug console.log statements
2026-01-12 00:52:36 +00:00
Peter Steinberger
ee66fe7f6e test: cover unset docker env vars 2026-01-12 00:46:55 +00:00
Peter Steinberger
32dd40b3b7 test: fix includes tests on windows 2026-01-12 00:39:14 +00:00
Peter Steinberger
a675c823b4 Merge pull request #725 from petradonka/patch-1
Fix docker-setup.sh crash with optional env vars under set -u
2026-01-12 00:38:46 +00:00
Peter Steinberger
25ad42ff99 fix: tolerate unset docker env vars (#725) (thanks @petradonka) 2026-01-12 00:38:05 +00:00
Petra Donka
5bbc43a9f8 Fix docker-setup.sh crash with optional env vars under set -u 2026-01-12 00:36:51 +00:00
Peter Steinberger
dc08a6e797 style: biome fixes 2026-01-12 00:32:47 +00:00
Peter Steinberger
ada3142a31 fix: make codex keychain platform-aware 2026-01-12 00:32:47 +00:00
Peter Steinberger
b5598c29f3 test: expand include coverage 2026-01-12 00:30:26 +00:00
Peter Steinberger
1e4298b8a6 fix: skip pnpm patch fallback 2026-01-12 00:28:34 +00:00
Peter Steinberger
6044afebec fix: reset session after compaction overflow 2026-01-12 00:28:16 +00:00
Peter Steinberger
a143956e84 fix: stabilize invalid-connect handshake response 2026-01-12 00:19:47 +00:00
Peter Steinberger
d3134c4c8c ci: stabilize installer smoke 2026-01-12 00:17:07 +00:00
Peter Steinberger
438564705a Merge pull request #731 from pasogott/feat/config-includes
feat(config): add $include directive for modular configs
2026-01-12 00:13:15 +00:00
Peter Steinberger
f99bbee218 fix: guard config includes (#731) (thanks @pasogott) 2026-01-12 00:12:03 +00:00
David Hurley
ac35b67a51 docs(showcase): add Visual Morning Briefing Scene by @buddyhadry 2026-01-12 00:08:53 +00:00
sheeek
e5d6194bb0 refactor(config): simplify includes with class-based processor
- Replace free functions with IncludeProcessor class
- Simplify IncludeResolver interface: { readFile, parseJson }
- Break down loadFile into focused private methods
- Use reduce() for array include merging
- Cleaner separation of concerns
2026-01-12 00:08:27 +00:00
sheeek
c094b914dc refactor(config): extract includes logic to separate module
- Move $include resolution to src/config/includes.ts
- Simplify io.ts by importing from includes module
- Cleaner API: resolveConfigIncludes(obj, configPath, resolver?)
- Re-export errors from io.ts for backwards compatibility
- Rename test file to match module name
2026-01-12 00:08:27 +00:00
sheeek
027033d8b5 feat(config): add $include directive for modular configs
Adds support for splitting clawdbot.json into multiple files using the
$include directive. This enables:

- Single file includes: { "$include": "./agents.json5" }
- Multiple file merging: { "$include": ["./a.json5", "./b.json5"] }
- Nested includes (up to 10 levels deep)
- Sibling key merging with includes

Features:
- Relative paths resolved from including file
- Absolute paths supported
- Circular include detection
- Clear error messages with resolved paths

Use case: Per-client agent configs for isolated sandboxed environments
(e.g., legal case management with strict data separation).
2026-01-12 00:08:27 +00:00
Peter Steinberger
bf30efeb8e ci: fix installer site checkout path 2026-01-12 00:06:41 +00:00
Peter Steinberger
edbc8bab45 ci: fix installer smoke clone 2026-01-12 00:04:26 +00:00
Peter Steinberger
53e39d7724 Merge pull request #732 from peschee/feat/wire-model-extra-params
feat: wire up model extraParams (temperature, maxTokens) to pi agent
2026-01-12 00:04:04 +00:00
Peter Steinberger
531dd80356 fix: apply model extra params without overwriting stream (#732) (thanks @peschee) 2026-01-12 00:03:48 +00:00
Peter Siska
c2d8a7d7af style: fix formatting (biome) 2026-01-12 00:03:25 +00:00
Peter Siska
958702b36f feat: wire up model extraParams (temperature, maxTokens) to pi agent
- Use resolveExtraParams() which was defined but unused
- Create streamFn wrapper that injects config-driven params
- Apply to both compaction and run sessions

Config path: agents.defaults.models["provider/model"].params.temperature

Example:
  agents.defaults.models["anthropic/claude-sonnet-4"].params.temperature = 0.7
  agents.defaults.models["openai/gpt-4"].params.maxTokens = 8192
2026-01-12 00:03:24 +00:00
Peter Steinberger
4e11a347e8 chore: harden installer and add smoke ci 2026-01-12 00:00:54 +00:00
Peter Steinberger
b7b631c731 fix: preserve handshake close code and test truncation 2026-01-11 23:57:37 +00:00