Lucas Czekaj
0c55b1e9ce
fix(exec): derive agentId from sessionKey for allowlist lookup
...
When creating exec tools via chat/Discord, agentId was not passed,
causing allowlist lookup to use 'default' key instead of 'main'.
User's allowlist entries in agents.main were never matched.
Now derives agentId from sessionKey if not explicitly provided,
ensuring correct allowlist lookup for all exec paths.
2026-01-22 03:58:53 +00:00
Peter Steinberger
0c3d46cb72
Merge pull request #1103 from mkbehr/feat/cron-context-messages
...
feat(cron): Add parameter to control context messages
2026-01-22 03:52:34 +00:00
Peter Steinberger
654f9e5053
fix: cap cron context messages ( #1103 ) (thanks @mkbehr)
2026-01-22 03:52:03 +00:00
Peter Steinberger
0f7f7bb95f
fix: msteams attachments + plugin prompt hints
...
Co-authored-by: Christof <10854026+Evizero@users.noreply.github.com >
2026-01-22 03:37:29 +00:00
Michael Behr
ffbf75d740
update description
2026-01-22 03:37:20 +00:00
Michael Behr
4642fae193
feat(cron): add contextMessages param to control reminder context
2026-01-22 03:37:20 +00:00
Peter Steinberger
472b8fe15d
fix: prevent memory CLI hangs
2026-01-22 03:14:59 +00:00
Peter Steinberger
721737cc77
Merge pull request #1414 from czekaj/fix/discord-exec-resolvedpath-validation
...
fix(exec): pass undefined instead of null for optional approval params
2026-01-22 03:11:26 +00:00
Peter Steinberger
9d22646120
fix: reduce invalid config log noise
2026-01-22 02:48:01 +00:00
Peter Steinberger
f1aa260b0e
test: avoid downgrade prompt in update fallback
2026-01-22 02:44:13 +00:00
Peter Steinberger
2d1d793651
Merge pull request #1373 from yazinsai/main
...
Add auto-refresh polling for debug view
2026-01-22 02:25:24 +00:00
Peter Steinberger
2f47b3f6bd
fix: sync debug polling with route changes ( #1373 ) (thanks @yazinsai)
2026-01-22 02:24:19 +00:00
Peter Steinberger
302bb64457
test: fix await-thenable in signal typing test
2026-01-22 02:20:42 +00:00
Lucas Czekaj
de898c423b
fix(exec): pass undefined instead of null for optional approval params
...
TypeBox Type.Optional(Type.String()) accepts string|undefined but NOT null.
Discord exec was failing with 'resolvedPath must be string' because callers
passed null explicitly. Web UI worked because it skipped the approval request.
Fixes exec approval validation error in Discord-triggered sessions.
2026-01-21 18:14:51 -08:00
Peter Steinberger
47ebe29195
test: stabilize exec approvals path resolution
2026-01-22 02:07:40 +00:00
Peter Steinberger
cc74e0d188
feat(signal): add typing + read receipts
2026-01-22 02:04:59 +00:00
Peter Steinberger
5bf7a9d0db
test: avoid hardcoded version strings
2026-01-22 02:01:11 +00:00
Peter Steinberger
3ad0d2fe23
chore: bump version to 2026.1.21
2026-01-22 01:59:16 +00:00
Peter Steinberger
39073d5196
fix: finish model list alias + heartbeat session ( #1256 ) (thanks @zknicker)
2026-01-22 01:36:58 +00:00
Zach Knickerbocker
7725dd6795
feat: configurable heartbeat session
2026-01-22 01:36:28 +00:00
Peter Steinberger
db61451c67
fix: handle Windows safe-bin exe names
2026-01-22 01:30:06 +00:00
Peter Steinberger
9780748bbb
Merge pull request #1372 from zerone0x/fix/openrouter-tool-call-id-alphanumeric
...
fix(agents): use alphanumeric-only tool call IDs for OpenRouter compatibility
2026-01-22 01:17:16 +00:00
Peter Steinberger
f5cec1dd8b
test: update fuzzy model selection expectations ( #1372 ) (thanks @zerone0x)
2026-01-22 01:16:59 +00:00
Peter Steinberger
7e1a17e5e6
fix: unify exec approval ids
2026-01-22 00:59:29 +00:00
Peter Steinberger
0704fe7dbb
fix: enforce Mistral tool call ids ( #1372 ) (thanks @zerone0x)
2026-01-22 00:43:15 +00:00
Peter Steinberger
7d93de710e
fix: remove setup-token run option in onboarding
2026-01-22 00:42:04 +00:00
zerone0x
d51eca64cc
fix(agents): make tool call ID sanitization conditional with standard/strict modes
...
- Add ToolCallIdMode type ('standard' | 'strict') for provider compatibility
- Standard mode (default): allows [a-zA-Z0-9_-] for readable session logs
- Strict mode: only [a-zA-Z0-9] for Mistral via OpenRouter
- Update sanitizeSessionMessagesImages to accept toolCallIdMode option
- Export ToolCallIdMode from pi-embedded-helpers barrel
Addresses review feedback on PR #1372 about readability.
2026-01-22 00:41:22 +00:00
zerone0x
d0f9e22a4b
fix(agents): use alphanumeric-only tool call IDs for OpenRouter compatibility
...
Some providers like Mistral via OpenRouter require strictly alphanumeric
tool call IDs. The error message indicates: "Tool call id was
whatsapp_login_1768799841527_1 but must be a-z, A-Z, 0-9, with a length
of 9."
Changes:
- Update sanitizeToolCallId to strip all non-alphanumeric characters
(previously allowed underscores and hyphens)
- Update makeUniqueToolId to use alphanumeric suffixes (x2, x3, etc.)
instead of underscores
- Update isValidCloudCodeAssistToolId to validate alphanumeric-only IDs
- Update tests to reflect stricter sanitization
Fixes #1359
Co-Authored-By: Claude <noreply@anthropic.com >
2026-01-22 00:41:22 +00:00
Peter Steinberger
2b254a9b39
fix: refine model directive handling
2026-01-22 00:29:27 +00:00
Peter Steinberger
7eef176afc
fix: warn on unset gateway.mode
2026-01-22 00:21:08 +00:00
Peter Steinberger
f76e3c1419
fix: enforce secure control ui auth
2026-01-21 23:58:42 +00:00
Peter Steinberger
cd65e8e755
fix: type gateway lock handle
2026-01-21 23:05:11 +00:00
Peter Steinberger
28e547f120
fix: stabilize ci
2026-01-21 22:59:11 +00:00
Peter Steinberger
05a254746e
fix(gateway): enforce singleton lock
2026-01-21 22:47:18 +00:00
Peter Steinberger
529372f762
Merge pull request #1398 from vignesh07/feat/models-command
...
fix(chat): add /models and stop /model from dumping full model list
2026-01-21 21:54:16 +00:00
Peter Steinberger
3b18efdd25
feat: tighten exec allowlist gating
2026-01-21 21:45:50 +00:00
Vignesh Natarajan
6e044b5f2f
fix(models): include configured providers/models + ignore page with all
2026-01-21 13:14:18 -08:00
Vignesh Natarajan
310f916675
fix(models): handle out-of-range pages
2026-01-21 12:54:02 -08:00
Peter Steinberger
b5fd66c92d
fix: add explicit tailnet gateway bind
2026-01-21 20:36:09 +00:00
Peter Steinberger
45c1ccdfcf
refactor: unify threading contexts
2026-01-21 20:35:12 +00:00
Peter Steinberger
483a50f107
fix: correct nodes exec config typing
2026-01-21 20:32:43 +00:00
Peter Steinberger
31943dcecb
feat: add heartbeat active hours
2026-01-21 20:30:37 +00:00
Peter Steinberger
0d3b8f6ac3
feat: make nodes run exec-style
2026-01-21 20:25:12 +00:00
Peter Steinberger
6492e90c1b
feat: add auth-aware cache defaults
2026-01-21 20:23:39 +00:00
Peter Steinberger
8b8e078ef8
chore(canvas): update a2ui bundle
2026-01-21 20:10:38 +00:00
Peter Steinberger
44a3539ffa
tmp
2026-01-21 20:10:37 +00:00
Peter Steinberger
0daaa5b592
fix: restore 1h cache ttl option
2026-01-21 20:00:32 +00:00
Peter Steinberger
41c9c214fc
fix: drop obsolete pi-mono workarounds
2026-01-21 19:58:19 +00:00
Vignesh Natarajan
41d56c06b9
feat(commands): add /models and fix /model listing UX
2026-01-21 11:53:29 -08:00
Peter Steinberger
9f999f6554
fix: reset cache-ttl pruning window
2026-01-21 19:53:00 +00:00