7 Commits

Author SHA1 Message Date
Rohit Kushwaha
d4cf83e7e4 fix(test): use cross-platform timeout command in ShellTool test 2026-03-10 18:22:09 +05:30
sarthak srivastav
80386911a0 Fix/file jail prefix bypass (#542)
* fix: harden file jail path containment checks

* style: apply ruff formatting

* chore: remove uv.lock

---------

Co-authored-by: Rohit Kushwaha <technicalrohit06@gmail.com>
2026-03-10 18:11:12 +05:30
Rohit Kushwaha
ce8982cd27 fix: ruff formatting, Windows test compat, and cross-platform test fixes
Ruff auto-formatting:
- Apply ruff format across 42 files (import sorting, line length, etc.)

Test fixes (13 failures resolved):
- Skip Unix file permission tests on Windows (4 tests)
- Fix OAuth scope test using a now-valid scope name
- Fix screenshot test path assertion for Windows
- Fix launcher updater tests for Windows venv layout
- Fix media downloader hash collision by adding randomness
- Fix concurrent memory access PermissionError on Windows
- Fix activity feed sort stability with sequence counter
- Fix Sarvam STT encoding (use UTF-8 for Hindi text output)
- Fix event loop error in task persistence test (asyncio.run)

Source fixes:
- Add UTF-8 encoding to STT transcript file writes
- Add retry logic for file_store atomic replace on Windows
- Add insertion sequence to activity feed for stable ordering
- Add randomness to media filename hash for uniqueness
2026-03-04 22:49:29 +05:30
Rohit Kushwaha
5542941ece fix: rename Python package from pocketclaw to pocketpaw
Complete the package rename: src/pocketclaw/ → src/pocketpaw/,
all imports, pyproject.toml entry point, docs code examples,
installer references, and test patch targets updated.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 23:54:14 +05:30
Rohit Kushwaha
fde5bd774a feat: add MCP framework, new channel adapters, and mem0 integration (sprints 16-23)
- MCP: config, manager, Claude SDK + native backend integration, dashboard UI
- Channel adapters: Signal, Matrix, Teams, Google Chat with CLI flags
- Mem0: configurable LLM/embedder/vector providers, auto-learn, semantic search
- Updated config, dashboard, frontend, and tool policy for all new features
- 173 new tests across 7 test files

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 06:32:49 +05:30
Rohit Kushwaha
b57e2754b1 refactor: update subsystems for channel adapter integration
Update agents, browser, memory, security, tools, and test suites to
work with the new channel adapter system and web-first dashboard mode.
Includes formatting fixes from ruff.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-06 19:59:16 +05:30
Prakash
f3c1469444 feat(core): implement Nanobot architectural foundation (Phase 1)
Establishes the core foundation for adopting Nanobot patterns into PocketPaw.
This commit introduces the Memory System, Simplified Tools, Message Bus, and
Bootstrap components without breaking existing functionality.

Components added:
- Memory System (`src/pocketclaw/memory/`):
  - `FileMemoryStore`: Markdown-based long-term memory & JSON session history.
  - `MemoryManager`: High-level facade for memory operations.
  - Full persistence layer for session continuity.

- Simplified Tools (`src/pocketclaw/tools/`):
  - `ToolProtocol`: Standardized string-based tool interface.
  - `ToolRegistry`: centralized tool management.
  - Built-in tools: `ShellTool` (with security), `ReadFileTool`, `WriteFileTool`, `ListDirTool`.

- Message Bus (`src/pocketclaw/bus/`):
  - Async `MessageBus` decouples agent core from I/O.
  - Event types: `InboundMessage`, `OutboundMessage`, `SystemEvent`.
  - `WebSocketAdapter`: Support for real-time dashboard communication.

- Bootstrap System (`src/pocketclaw/bootstrap/`):
  - `BootstrapContext`: Defines agent identity, soul, and style.
  - `DefaultBootstrapProvider`: Loads identity from `~/.pocketclaw/identity/*.md`.
  - `AgentContextBuilder`: Assembles system prompts from identity + memory.

Tests:
- Added comprehensive tests for all new modules (34 tests passing).
2026-02-02 18:48:15 +05:30