Peter Steinberger
a1ff0e4767
refactor(test): dedupe sessions_spawn thinking assertions
2026-02-15 22:12:02 +00:00
Peter Steinberger
8e7b7a2b22
refactor(test): dedupe commands e2e wizard setup
2026-02-15 22:08:13 +00:00
Peter Steinberger
d9d93485d9
refactor(test): share tool hook handler ctx
2026-02-15 22:04:07 +00:00
Peter Steinberger
5fb4032fb6
refactor(test): share overflow compaction mocks
2026-02-15 22:02:09 +00:00
David Harmeyer
7c822d039b
feat(plugins): expose llm input/output hook payloads (openclaw#16724) thanks @SecondThread
...
Verified:
- pnpm build
- pnpm check
- pnpm test:macmini
Co-authored-by: SecondThread <18317476+SecondThread@users.noreply.github.com >
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-02-15 16:01:00 -06:00
Peter Steinberger
3c6cff5758
refactor(config): share agent sandbox schema
2026-02-15 21:57:23 +00:00
Peter Steinberger
511719424d
refactor(test): dedupe terminal restore stubs
2026-02-15 21:55:56 +00:00
Peter Steinberger
8cd20e220f
refactor(infra): share jsonl transcript reader
2026-02-15 21:53:12 +00:00
Peter Steinberger
c92bcf24c4
refactor(infra): dedupe device pairing token updates
2026-02-15 21:51:38 +00:00
Tak Hoffman
0c77851516
fix(agents): mark required-param tool errors as non-retryable ( #17533 )
...
* Agents: mark missing tool params as non-retryable
* Agents: include all missing required params in tool errors
* Agents: change required-param errors to retry guidance
* Docs: align changelog text for issue #14729 guidance wording
2026-02-15 15:50:44 -06:00
Peter Steinberger
50abdaf33b
refactor(infra): dedupe openclaw root candidate scan
2026-02-15 21:48:46 +00:00
Peter Steinberger
012b674f31
refactor(infra): share isTailnetIPv4 helper
2026-02-15 21:47:51 +00:00
Peter Steinberger
c9bb6bd0d8
refactor(infra): extract json file + async lock helpers
2026-02-15 21:46:08 +00:00
Tyler Yust
ff4f59ec90
feat(image-tool): support multiple images in a single tool call ( #17512 )
...
* feat(image-tool): support multiple images in a single tool call
- Change 'image' parameter to accept string | string[] (Type.Union)
- Add 'maxImages' parameter (default 5) to cap abuse/token explosion
- Update buildImageContext to create multiple image content parts
- Normalize single string input to array for unified processing
- Keep full backward compatibility: single string works as before
- Update tool descriptions for both vision and non-vision models
- MiniMax VLM falls back to first image (single-image API)
- Details output adapts: 'image' key for single, 'images' for multi
* bump default max images from 5 to 20
2026-02-15 13:45:17 -08:00
Peter Steinberger
27deda2221
fix(test): drop unused gateway e2e PluginRegistry imports
2026-02-15 21:42:35 +00:00
Peter Steinberger
c3812a1ffb
refactor(test): share gateway e2e registry helper
2026-02-15 21:41:18 +00:00
Peter Steinberger
84601bf96b
fix(test): fix pi embedded subscribe harness typing
2026-02-15 21:34:15 +00:00
Peter Steinberger
aabe4d9b45
refactor(test): reuse env snapshot helper
2026-02-15 21:31:23 +00:00
Peter Steinberger
856e1a3187
refactor(test): share skills e2e helper
2026-02-15 21:29:15 +00:00
Peter Steinberger
5958454710
refactor(test): share auth profile order fixtures
2026-02-15 21:27:07 +00:00
Peter Steinberger
a02e5759cc
refactor(test): dedupe pi embedded subscribe e2e harness
2026-02-15 21:18:53 +00:00
Vignesh Natarajan
150c5815eb
fix (agents): honor configured contextWindow overrides
2026-02-15 13:12:10 -08:00
Vignesh Natarajan
69418cca20
fix (tui): preserve copy-sensitive token wrapping
2026-02-15 13:12:10 -08:00
Peter Steinberger
2ac3e780e3
refactor(test): dedupe followup queue fixtures
2026-02-15 21:07:10 +00:00
Peter Steinberger
02ff9f43ea
refactor(test): dedupe image tool e2e fixtures
2026-02-15 20:54:21 +00:00
Gustavo Madeira Santana
b4f14d6f7a
Gateway: hide BOOTSTRAP in agent files after onboarding completes ( #17491 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: f95f6dd052daf618bac6ed16bb4a8112a376d47d
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Reviewed-by: @gumadeiras
2026-02-15 15:42:43 -05:00
Peter Steinberger
75f33e92bf
fix(web): disallow workspace-* roots without explicit localRoots
2026-02-15 19:40:27 +00:00
Peter Steinberger
80eb91d9e7
refactor(plugin-sdk): add shared helper utilities
2026-02-15 19:37:40 +00:00
Peter Steinberger
108f0ef8c4
fix(test): remove stale cleanup calls in cron regressions
2026-02-15 19:29:28 +00:00
Peter Steinberger
92f8c0fac3
perf(test): speed up suites and reduce fs churn
2026-02-15 19:29:27 +00:00
Peter Steinberger
8fdde0429e
perf(auto-reply): avoid skill scans for inline directives
2026-02-15 19:29:27 +00:00
Peter Steinberger
38f430e133
perf(models): lazy-load heavy deps in models list
2026-02-15 19:29:27 +00:00
Peter Steinberger
5c5af2b14e
perf(wizard): lazy-load onboarding deps
2026-02-15 19:29:27 +00:00
Peter Steinberger
c25026f2b3
perf(plugins): lazy-create jiti loader
2026-02-15 19:29:27 +00:00
Peter Steinberger
a6158873f5
refactor(imessage): split monitor inbound processing
2026-02-15 19:29:27 +00:00
Peter Steinberger
a8f3a579d4
perf(telegram): lazy import proxy + timeout deps in audit
2026-02-15 19:29:27 +00:00
Peter Steinberger
a4b958efcd
perf(test): cover embedding chunk limits without indexing
2026-02-15 19:29:27 +00:00
Peter Steinberger
e3f4cabf49
perf(test): speed up update-cli unit tests
2026-02-15 19:29:27 +00:00
Peter Steinberger
a742d44133
perf(test): stub config + persistence in subagent registry tests
2026-02-15 19:29:27 +00:00
Peter Steinberger
b2088d2e1d
perf(test): speed up process poll timeout tests
2026-02-15 19:29:27 +00:00
Peter Steinberger
824901083b
refactor(pi): dedupe compaction failure
2026-02-15 19:09:05 +00:00
Peter Steinberger
a2ceadcc2a
refactor(gateway): dedupe assistant delta parsing
2026-02-15 19:08:47 +00:00
Peter Steinberger
5248b759fe
refactor(shared): reuse isPidAlive
2026-02-15 19:06:54 +00:00
Xinhua Gu
c682634188
fix(discord): role-based allowlist never matches (Carbon Role objects stringify to mentions) ( #16369 )
...
* fix(discord): role-based allowlist never matches because Carbon Role objects stringify to mentions
Carbon's GuildMember.roles getter returns Role[] objects, not raw ID strings.
String(Role) produces '<@&123456>' which never matches the plain role IDs
in the guild allowlist config.
Use data.rawMember.roles (raw Discord API string array) instead of
data.member.roles (Carbon Role[] objects) for role ID extraction.
Fixes #16207
* Docs: add discord role allowlist changelog entry
---------
Co-authored-by: Shadow <hi@shadowing.dev >
2026-02-15 13:05:46 -06:00
Peter Steinberger
c7b6d6a14e
refactor(plugins): reuse createEmptyPluginRegistry
2026-02-15 19:05:00 +00:00
Peter Steinberger
99fda7b920
refactor(models): share fallback command logic
2026-02-15 19:00:27 +00:00
Peter Steinberger
6a4144f537
refactor(auto-reply): dedupe chunk early returns
2026-02-15 18:55:01 +00:00
Peter Steinberger
9a5e617a55
fix(discord): align message action send parameters
2026-02-15 18:53:24 +00:00
Peter Steinberger
6f2f88d3ad
refactor(status): reuse Requirements types
2026-02-15 18:50:36 +00:00
Peter Steinberger
c118f6c688
fix(discord): fix component parsing and modal field typing
2026-02-15 18:50:36 +00:00