Commit Graph

5050 Commits

Author SHA1 Message Date
user
d4e9f23ee9 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
7d6f17d77f 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
0ed7ea698a 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
74526645eb test: cover unset docker env vars 2026-01-12 00:46:55 +00:00
Peter Steinberger
cb095c8606 test: fix includes tests on windows 2026-01-12 00:39:14 +00:00
Peter Steinberger
376d007371 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
01492b6515 fix: tolerate unset docker env vars (#725) (thanks @petradonka) 2026-01-12 00:38:05 +00:00
Petra Donka
3c81ac0315 Fix docker-setup.sh crash with optional env vars under set -u 2026-01-12 00:36:51 +00:00
Peter Steinberger
9c8967ef5d style: biome fixes 2026-01-12 00:32:47 +00:00
Peter Steinberger
720b9dd116 fix: make codex keychain platform-aware 2026-01-12 00:32:47 +00:00
Peter Steinberger
9f9f6b75e7 test: expand include coverage 2026-01-12 00:30:26 +00:00
Peter Steinberger
26cbbafc86 fix: skip pnpm patch fallback 2026-01-12 00:28:34 +00:00
Peter Steinberger
67743325ee fix: reset session after compaction overflow 2026-01-12 00:28:16 +00:00
Peter Steinberger
32df2ef7bd fix: stabilize invalid-connect handshake response 2026-01-12 00:19:47 +00:00
Peter Steinberger
ccd8950d40 ci: stabilize installer smoke 2026-01-12 00:17:07 +00:00
Peter Steinberger
86a7ab6e28 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
e3e3498a4b fix: guard config includes (#731) (thanks @pasogott) 2026-01-12 00:12:03 +00:00
David Hurley
56f018ddd6 docs(showcase): add Visual Morning Briefing Scene by @buddyhadry 2026-01-12 00:08:53 +00:00
sheeek
53d3134fe8 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
e6400b0b0f 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
15d286b617 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
6b2634512c ci: fix installer site checkout path 2026-01-12 00:06:41 +00:00
Peter Steinberger
9211183f2d ci: fix installer smoke clone 2026-01-12 00:04:26 +00:00
Peter Steinberger
cd8c7f391b 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
4b51c96e4e fix: apply model extra params without overwriting stream (#732) (thanks @peschee) 2026-01-12 00:03:48 +00:00
Peter Siska
d9960d83c1 style: fix formatting (biome) 2026-01-12 00:03:25 +00:00
Peter Siska
32affaee02 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
60430fcd2e chore: harden installer and add smoke ci 2026-01-12 00:00:54 +00:00
Peter Steinberger
55e55c8825 fix: preserve handshake close code and test truncation 2026-01-11 23:57:37 +00:00
Peter Steinberger
146f7ab433 fix: surface handshake reasons 2026-01-11 23:46:20 +00:00
Peter Steinberger
105d0481d3 chore: note codex keychain fallback 2026-01-11 23:39:55 +00:00
Peter Steinberger
1f95d7fc8b fix: read codex keychain credentials 2026-01-11 23:39:10 +00:00
Peter Steinberger
3a8bfc0a5d Merge pull request #733 from AbhisekBasu1/patch-1
Readme Fix: Update section title from 'macOS app' to 'Apps'
2026-01-11 23:38:38 +00:00
Peter Steinberger
26cc2bd384 fix: land PR #733 (thanks @AbhisekBasu1) 2026-01-11 23:37:44 +00:00
Peter Steinberger
248c731e78 test: expand voice-call coverage 2026-01-11 23:35:47 +00:00
Abhi
b38155fe9a Readme Fix: Update section title from 'macOS app' to 'Apps'
Tiny readme change that makes it less confusing. 

The section title being "macOS app" makes it seem like the app is mandatory, when it is optional. Updated it to just "Apps"
2026-01-11 23:35:16 +00:00
Peter Steinberger
ec763a7546 docs: add skill override faq 2026-01-11 23:33:36 +00:00
Peter Steinberger
4181e72977 fix: strip markup heartbeat acks 2026-01-11 23:26:51 +00:00
Peter Steinberger
5462cfdc3a chore: update changelog for voice-call plugin 2026-01-11 23:23:23 +00:00
Peter Steinberger
367baaca20 feat: implement voice-call plugin 2026-01-11 23:23:14 +00:00
Peter Steinberger
e576a82c43 docs: clarify WhatsApp pairing + sending FAQ 2026-01-11 23:13:44 +00:00
Ayaan Zaidi
e5bb5b5be5 Merge pull request #736 from clawdbot/fix/discord-lint
fix: add discord channel/category actions
2026-01-11 22:36:40 +05:30
Ayaan Zaidi
f082f1e06e fix: add discord channel actions 2026-01-11 22:32:17 +05:30
Ayaan Zaidi
0d9a1009ff fix: format discord parentId 2026-01-11 22:28:05 +05:30
Ayaan Zaidi
33aaccd1c3 Merge pull request #728 from pkrmf/feature/dm-history-limit
feat: add configurable DM history limits with per-chat overrides
2026-01-11 22:25:12 +05:30
Ayaan Zaidi
a4385dc920 fix: skip dm history limit for non-dm sessions 2026-01-11 22:18:15 +05:30
Shadow
ed14e1f0d0 Merge branch 'pr-730-merge' 2026-01-11 10:16:49 -06:00
Shadow
bab4f8e628 Changelog: note Discord message tool channel actions 2026-01-11 10:16:27 -06:00
Shadow
4c3a853673 Docs: clarify Discord channel type values 2026-01-11 10:02:36 -06:00
Nicholas Spisak
d63eae528c feat(discord): expose channel management actions via message tool
Add channel-create, channel-edit, channel-delete, channel-move,
category-create, category-edit, and category-delete actions to the
unified message tool. These actions were already implemented in the
Discord-specific handler but weren't accessible via the pi_message tool.

Changes:
- Add 7 new channel/category management actions to MessageActionSchema
- Add parameters: name, type, parentId, topic, position, nsfw,
  rateLimitPerUser, categoryId
- Gate actions behind discord.actions.channels (disabled by default)
- Add execute handlers routing to existing Discord action handlers
- Update Discord skill SKILL.md with documentation

Channel types: 0=text, 2=voice, 4=category
2026-01-11 10:01:32 -06:00