Skip to content

Phase2#1

Merged
rcholic merged 21 commits intosecureclawfrom
phase2
Feb 27, 2026
Merged

Phase2#1
rcholic merged 21 commits intosecureclawfrom
phase2

Conversation

@rcholic
Copy link
Collaborator

@rcholic rcholic commented Feb 27, 2026

Phase 2: Plugin Development

  • Create src/plugins/secureclaw/ directory
  • Implement before_tool_call hook with GuardedProvider integration
  • Implement after_tool_call hook with Snapshot Engine integration
  • Implement session_start/session_end hooks for audit trail
  • Create extractResource() utility for all tool types

@rcholic rcholic changed the base branch from main to secureclaw February 27, 2026 04:29
@rcholic rcholic merged commit e169851 into secureclaw Feb 27, 2026
7 of 9 checks passed
@rcholic rcholic deleted the phase2 branch February 27, 2026 16:04
rcholic pushed a commit that referenced this pull request Mar 2, 2026
… and docs (openclaw#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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant