Peter Steinberger
f7074ea45f
test: cover logging defaults
2026-01-06 01:39:42 +01:00
Peter Steinberger
d813e14950
chore: update mention gating docs and tests
2026-01-06 01:38:36 +01:00
Peter Steinberger
811ec8b78b
fix: unify mention gating across providers
2026-01-06 01:32:17 +01:00
Peter Steinberger
5356adba8f
fix: keep Slack thread replies in thread
2026-01-06 01:09:25 +01:00
Peter Steinberger
291c6f3b60
test: cover WhatsApp DM senderE164
2026-01-06 00:55:41 +01:00
Xin
a6a45f4b84
fix(whatsapp): populate senderE164 for direct chats to enable owner commands ( #247 )
2026-01-05 23:54:35 +00:00
Peter Steinberger
a4fdfc2414
chore: fix redaction lint
2026-01-06 00:42:23 +01:00
Peter Steinberger
8be168b180
fix: redact sensitive tokens in tool summaries
2026-01-06 00:41:12 +01:00
Peter Steinberger
20e00eb89b
fix: normalize unknown prompt errors
2026-01-05 23:05:57 +00:00
Peter Steinberger
ac3dedaa1b
feat: standardize timestamps to UTC
2026-01-05 23:03:59 +00:00
Peter Steinberger
f790f3f3ba
fix/heartbeat ok delivery filter ( #246 )
...
* cron: skip delivery for HEARTBEAT_OK responses
When an isolated cron job has deliver:true, skip message delivery if the
response is just HEARTBEAT_OK (or contains HEARTBEAT_OK at edges with
short remaining content <= 30 chars). This allows cron jobs to silently
ack when nothing to report but still deliver actual content when there
is something meaningful to say.
Media is still delivered even if text is HEARTBEAT_OK, since the
presence of media indicates there's something to share.
* fix(heartbeat): make ack padding configurable
* chore(deps): update to latest
---------
Co-authored-by: Josh Lehman <josh@martian.engineering >
2026-01-05 22:52:13 +00:00
Josh Lehman
dae7f560a5
cron: skip delivery for HEARTBEAT_OK responses ( #238 )
...
When an isolated cron job has deliver:true, skip message delivery if the
response is just HEARTBEAT_OK (or contains HEARTBEAT_OK at edges with
short remaining content <= 30 chars). This allows cron jobs to silently
ack when nothing to report but still deliver actual content when there
is something meaningful to say.
Media is still delivered even if text is HEARTBEAT_OK, since the
presence of media indicates there's something to share.
2026-01-05 22:16:28 +00:00
Peter Steinberger
53bf8b7b80
fix: avoid duplicate missing auth label
2026-01-05 23:00:37 +01:00
CI
d9cdf3b8ac
fix(model): treat quota errors as rate limits
2026-01-05 21:34:08 +00:00
CI
c627efce3e
fix(model): retry with supported thinking level
2026-01-05 21:34:08 +00:00
CI
5622dfe86b
fix: retry model fallback on rate limits
2026-01-05 21:34:08 +00:00
Peter Steinberger
1b6c8178ae
style: apply biome formatting
2026-01-05 21:21:53 +00:00
Tobias Bischoff
de153a40d0
Onboard: auto-enable systemd lingering on Linux
2026-01-05 21:20:05 +00:00
Peter Steinberger
c75b2a7067
refactor: unify reply dispatch across providers
2026-01-05 19:43:54 +01:00
Peter Steinberger
cc790f2c84
docs(agent): annotate stream invariants
2026-01-05 18:10:03 +00:00
Peter Steinberger
86ad703f53
refactor(agent): extract block chunker + tool adapter
2026-01-05 18:05:40 +00:00
Peter Steinberger
7c89ce93b5
fix(agent): align tools + preserve indentation
2026-01-05 17:55:20 +00:00
Peter Steinberger
ad6bec4612
fix: enable systemd lingering for gateway
2026-01-05 18:38:43 +01:00
Peter Steinberger
0fb30db819
test: expand fenced block chunking coverage
2026-01-05 18:38:43 +01:00
Peter Steinberger
22105c8496
fix(agent): finalize block chunking
2026-01-05 17:22:29 +00:00
Peter Steinberger
b7e708c764
fix(chat): stabilize web UI tool runs
2026-01-05 17:22:29 +00:00
Peter Steinberger
86c404c48b
chore: fix reply commands lint
2026-01-05 18:16:39 +01:00
Julian Engel
110e2255c4
fix: pass custom tools via customTools parameter to pi-coding-agent SDK
...
The SDK's tools parameter only accepts built-in tools (read, bash, edit, write).
Custom clawdbot tools (browser, canvas, nodes, cron, etc.) were being filtered
out, causing 'Tool not found' errors at runtime.
Split tools into built-in and custom, passing them via the correct parameters.
2026-01-05 17:00:06 +00:00
Peter Steinberger
55e4e76d43
fix: preserve fenced markdown in block streaming
2026-01-05 17:53:53 +01:00
Peter Steinberger
7f3f73af1c
fix: show model auth in status
2026-01-05 15:50:18 +01:00
Peter Steinberger
bf6aad1965
fix(ci): format directive-handling
2026-01-05 14:34:55 +00:00
Peter Steinberger
0c37f27a4a
fix: show /model auth source
2026-01-05 14:14:26 +00:00
Peter Steinberger
cffbe79077
fix: add /model list alias
2026-01-05 14:11:33 +00:00
Peter Steinberger
bb959684fe
fix(tui): support pi-tui 0.36 key exports
2026-01-05 13:59:50 +00:00
Peter Steinberger
8e8d07cbf4
fix(ci): satisfy formatter checks
2026-01-05 13:55:53 +00:00
Peter Steinberger
5f4936dce5
fix(wizard): type OAuth provider login
2026-01-05 13:55:46 +00:00
Peter Steinberger
a9bcf88bfa
refactor(tui): use key helper predicates
2026-01-05 13:55:43 +00:00
Peter Steinberger
f24fe4e9cd
fix(whatsapp): reconnect on crypto unhandled rejection
2026-01-05 13:55:37 +00:00
Peter Steinberger
7619534bc0
feat(groups): resolve requireMention for discord/slack
2026-01-05 13:55:32 +00:00
Peter Steinberger
ce68d82dfa
fix: widen /model key masking
2026-01-05 13:50:45 +00:00
Peter Steinberger
5163886694
fix: show auth in /model list
2026-01-05 13:49:25 +00:00
Peter Steinberger
724354b9f0
fix: make tool list dynamic in system prompt
2026-01-05 06:36:24 +00:00
Peter Steinberger
79561d07a0
fix: allow openai-codex in onboarding types
2026-01-05 07:33:33 +01:00
Peter Steinberger
5431a9c692
fix: clean status + help + mid alias
2026-01-05 07:24:51 +01:00
Peter Steinberger
5aebc07369
chore: remove stale a2ui bundle hash
2026-01-05 06:17:06 +00:00
Peter Steinberger
9be1a14a08
fix: resolve agent dir in onboarding
2026-01-05 07:12:13 +01:00
Peter Steinberger
17ef7b3b0e
fix: status runtime + help
2026-01-05 07:07:17 +01:00
Peter Steinberger
1545ac0003
chore: update a2ui bundle hash
2026-01-05 06:39:08 +01:00
Peter Steinberger
f3cb41511d
feat: add openai codex oauth
2026-01-05 06:31:45 +01:00
Peter Steinberger
995f5959af
fix: stage sandbox media for inbound attachments
2026-01-05 06:18:11 +01:00