Vincent Koc
efc3a52947
fix(sessions_spawn): tolerate ACP-only fields for subagent runtime
...
Preserve contributor credit and land the narrowed sessions_spawn ACP-field handling with follow-up transcript redaction and ACP resume ownership hardening. Targeted Blacksmith validation passed for the touched sessions/ACP tests.
2026-04-27 09:42:24 -07:00
Peter Steinberger
7f6452897e
fix(agents): repair strict provider tool replay
2026-04-25 05:56:13 +01:00
Peter Steinberger
848f154f3e
refactor: share tool call transcript helpers
2026-04-18 21:22:23 +01:00
Shakker
b484173efe
fix: clear replay lint regressions
2026-04-12 07:26:37 +01:00
Shakker
941aca5e5e
fix: drop conflicting signed replay turns before mutation
2026-04-12 07:26:37 +01:00
Shakker
b27595f278
fix: harden immutable replay id uniqueness
2026-04-12 07:26:37 +01:00
Shakker
3cc9d53eb3
fix: tighten signed thinking replay sanitization
2026-04-12 07:26:37 +01:00
Shakker
98e89f5939
fix: gate immutable thinking replay repair to anthropic
2026-04-12 07:26:37 +01:00
Shakker
408e07f96b
fix: drop unsafe signed-thinking turns during transcript repair
2026-04-12 07:26:37 +01:00
Shakker
2d1f4af67a
fix: preserve thinking turns during transcript repair
2026-04-12 07:26:37 +01:00
Peter Steinberger
9e61209780
refactor: dedupe agent lowercase helpers
2026-04-07 17:50:37 +01:00
Peter Steinberger
9d8d1dd4c5
refactor: dedupe shared string aliases
2026-04-07 09:44:53 +01:00
Peter Steinberger
dfec7d7f80
refactor: dedupe session helper readers
2026-04-07 07:36:11 +01:00
Peter Steinberger
b059328f60
refactor: dedupe telemetry string readers
2026-04-07 05:06:54 +01:00
Peter Steinberger
7043705ef3
refactor: split MCP runtime and transport seams
2026-03-29 23:36:37 +01:00
Peter Steinberger
004bffa1c3
fix: finalize safer MCP tool naming ( #49505 ) (thanks @ziomancer)
2026-03-30 07:22:36 +09:00
ziomancer
14f78debd5
fix(mcp): allow colon in tool names and dispose transport on failed connect
...
The transcript validator regex rejected namespaced MCP tool names
(e.g., vigil-harbor:memory_status) because colon wasn't in the
allowed character set. Tool call blocks were silently dropped during
session repair, breaking tool-call/result pairing.
Also closes a resource leak: if client.connect() throws after the
transport is instantiated, the transport is now explicitly closed.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-30 07:22:36 +09:00
Josh Lehman
c3972982b5
fix: sanitize malformed replay tool calls ( #50005 )
...
Merged via squash.
Prepared head SHA: 64ad5563f7
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com >
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com >
Reviewed-by: @jalehman
2026-03-20 15:03:30 -07:00
Nikolay Petrov
a9f1188785
sessions_spawn: inline attachments with redaction, lifecycle cleanup, and docs ( #16761 )
...
Add inline file attachment support for sessions_spawn (subagent runtime only):
- Schema: attachments[] (name, content, encoding, mimeType) and attachAs.mountPath hint
- Materialization: files written to .openclaw/attachments/<uuid>/ with manifest.json
- Validation: strict base64 decode, filename checks, size limits, duplicate detection
- Transcript redaction: sanitizeToolCallInputs redacts attachment content from persisted transcripts
- Lifecycle cleanup: safeRemoveAttachmentsDir with symlink-safe path containment check
- Config: tools.sessions_spawn.attachments (enabled, maxFiles, maxFileBytes, maxTotalBytes, retainOnSessionKeep)
- Registry: attachmentsDir/attachmentsRootDir/retainAttachmentsOnKeep on SubagentRunRecord
- ACP rejection: attachments rejected for runtime=acp with clear error message
- Docs: updated tools/index.md, concepts/session-tool.md, configuration-reference.md
- Tests: 85 new/updated tests across 5 test files
Fixes:
- Guard fs.rm in materialization catch block with try/catch (review concern #1 )
- Remove unreachable fallback in safeRemoveAttachmentsDir (review concern #7 )
- Move attachment cleanup out of retry path to avoid timing issues with announce loop
Co-authored-by: Tyler Yust <TYTYYUST@YAHOO.COM >
Co-authored-by: napetrov <napetrov@users.noreply.github.com >
2026-03-01 21:33:51 -08:00
Peter Steinberger
ee03ade0d6
fix(agents): harden tool-name normalization and transcript repair
...
Landed from contributor PRs #30620 and #30735 by @Sid-Qin, plus #30881 by @liuxiaopai-ai.
Co-authored-by: SidQin-cyber <sidqin0410@gmail.com >
Co-authored-by: liuxiaopai-ai <73659136+liuxiaopai-ai@users.noreply.github.com >
2026-03-01 23:51:54 +00:00
wangchunyue
6b317b1f17
fix(agents): normalize whitespace-padded tool call names before dispatch ( #27094 )
...
Fix tool-call lookup failures when models emit whitespace-padded names by normalizing
both transcript history and live streamed embedded-runner tool calls before dispatch.
Co-authored-by: wangchunyue <80630709+openperf@users.noreply.github.com >
Co-authored-by: Sid <sidqin0410@gmail.com >
Co-authored-by: Philipp Spiess <hello@philippspiess.com >
2026-02-27 11:26:37 +01:00
Vignesh Natarajan
cdfe45eeb8
Agents: validate persisted tool-call names
2026-02-21 23:06:44 -08:00
Peter Steinberger
a4bf619522
refactor(agents): share toolResult details stripping
2026-02-15 06:21:13 +00:00
Peter Steinberger
21dfac972c
refactor(agents): share tool call id extraction
2026-02-15 05:11:27 +00:00
Vignesh Natarajan
aa56045b49
fix (agents): harden transcript tool-call block sanitization
2026-02-14 20:09:48 -08:00
Aisling Cahill
861725fba1
fix(agents): skip tool extraction for aborted/errored assistant messages ( #4598 )
...
Fixes tool call/tool_result pairing issues that cause permanent session corruption when assistant messages have stopReason "error" or "aborted". Includes 4 unit tests.
2026-02-05 16:08:46 -08:00
Justin
67f90dae54
Agents: fix lint in tool-call sanitizers
2026-02-02 23:56:27 +00:00
Justin
0da6de6624
Agent: repair malformed tool calls and session files
2026-02-02 23:56:27 +00:00
cpojer
5ceff756e1
chore: Enable "curly" rule to avoid single-statement if confusion/errors.
2026-01-31 16:19:20 +09:00
cpojer
15792b153f
chore: Enable more lint rules, disable some that trigger a lot. Will clean up later.
2026-01-31 16:04:04 +09:00
Peter Steinberger
9a7160786a
refactor: rename to openclaw
2026-01-30 03:16:21 +01:00
Peter Steinberger
6d16a658e5
refactor: rename clawdbot to moltbot with legacy compat
2026-01-27 12:21:02 +00:00
Peter Steinberger
c379191f80
chore: migrate to oxlint and oxfmt
...
Co-authored-by: Christoph Nakazawa <christoph.pojer@gmail.com >
2026-01-14 15:02:19 +00:00
Peter Steinberger
f5d5661adf
fix: guard session tool results
2026-01-12 17:28:46 +00:00
Peter Steinberger
6668805aca
fix(agents): enforce single-writer session files
2026-01-11 02:25:45 +00:00
Peter Steinberger
08cc8f2281
refactor(agents): extract transcript repair module
2026-01-10 22:07:25 +00:00