Commit Graph

19 Commits

Author SHA1 Message Date
09fc32386e chore: Add .env to .gitignore 2025-11-27 14:27:43 +08:00
f06c13c195 fix: Auto-detect modules path (./modules/ or ./build/modules/)
- main.cpp now checks for modules in ./modules/ first, falls back to
  ./build/modules/ if not found or empty
- Allows running from project root: ./build/aissia
- Update SUCCESSION.md with current state and FileSystem tools docs

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-27 14:20:56 +08:00
37b62b55e8 feat: Implement FileSystem tools for agentic LLM
Add Claude Code style file manipulation tools:
- read_file: Read file content with line numbers (offset/limit support)
- write_file: Create or overwrite files
- edit_file: Replace exact string in file (unique match or replace_all)
- list_directory: List directory contents with type/size
- glob_files: Search files by pattern (**/*.cpp)
- grep_files: Search content with regex

Features:
- Security: configurable allowed paths, blocked patterns (*.env, *.key)
- Size limits: 1MB read, 10MB write
- Path canonicalization to prevent traversal attacks
- Integrated into LLMService tool registry

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-27 14:01:25 +08:00
64d485729b fix: Fix test fixtures JsonDataNode constructor calls
- Add 'servers' key to mock_mcp.json (MCPClient expects this structure)
- Add 'servers' wrapper to MCPClientTests.cpp test configs
- Fix JsonDataNode constructor calls in test fixtures:
  - JsonDataNode(json) -> JsonDataNode("name", json)
  - Affected: AIModuleTests, MonitoringModuleTests, StorageModuleTests,
    VoiceModuleTests, TimeSimulator

Test results:
- Module tests: 52/60 passing (87%)
- MCP Types tests: 15/15 passing (100%)
- MCP Transport/Client: Require Python server integration fixes

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-27 13:49:50 +08:00
83d901aaab test: Implement 20 integration tests for Scheduler and Notification modules
- Add Catch2 test framework with MockIO and TimeSimulator utilities
- Implement 10 TI for SchedulerModule (task lifecycle, hyperfocus, breaks)
- Implement 10 TI for NotificationModule (queue, priority, silent mode)
- Fix SchedulerModule: update m_lastActivityTime in process()
- Add AISSIA_TEST_BUILD guards to avoid symbol conflicts
- All 20 tests passing (69 assertions total)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-27 09:49:08 +08:00
92fb0b7b28 docs: Add plan for FileSystem tools (read/write/edit)
Tools planned: read_file, write_file, edit_file, list_directory,
glob_files, grep_files - Claude Code style file manipulation.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-26 22:27:06 +08:00
1f6f95a3a0 docs: Update succession document for MCP integration session
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-26 17:17:03 +08:00
059709cd0d feat: Implement MCP client and internal tools for agentic LLM
Add complete tool calling infrastructure for Claude Code-like functionality:

Internal Tools (via GroveEngine IIO):
- Scheduler: get_current_task, list_tasks, start_task, complete_task, start_break
- Monitoring: get_focus_stats, get_current_app
- Storage: save_note, query_notes, get_session_history
- Voice: speak

MCP Client (for external servers):
- StdioTransport for fork/exec JSON-RPC communication
- MCPClient for multi-server orchestration
- Support for filesystem, brave-search, fetch servers

Architecture:
- IOBridge for sync request/response over async IIO pub/sub
- Tool handlers added to all modules (SchedulerModule, MonitoringModule, StorageModule, VoiceModule)
- LLMService unifies internal tools + MCP tools in ToolRegistry

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-26 16:50:30 +08:00
9c1e168d4f fix: Restore GroveEngine symlink removed during refactor
The symlink was accidentally deleted but CMakeLists.txt still references it.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-26 13:49:32 +08:00
26a5d3438b refactor: Services architecture for GroveEngine compliance
- Create 4 infrastructure services (LLM, Storage, Platform, Voice)
- Refactor all modules to pure business logic (no HTTP/SQLite/Win32)
- Add bundled SQLite amalgamation for MinGW compatibility
- Make OpenSSL optional in CMake configuration
- Fix topic naming convention (colon format)
- Add succession documentation

Build status: CMake config needs SQLite C language fix (documented)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-26 11:57:53 +08:00
bc3b6cbaba feat: Implement Phase 1 complete - All 6 core modules
## New Modules
- StorageModule: SQLite persistence for sessions, app usage, conversations
- MonitoringModule: Cross-platform window tracking (Win32/X11)
- AIModule: Multi-provider LLM integration with agentic tool loop
- VoiceModule: TTS/STT coordination with speak queue

## Shared Libraries
- AissiaLLM: ILLMProvider abstraction (Claude + OpenAI providers)
- AissiaPlatform: IWindowTracker abstraction (Win32 + X11)
- AissiaAudio: ITTSEngine (SAPI/espeak) + ISTTEngine (Whisper API)
- HttpClient: Header-only HTTP client with OpenSSL

## Configuration
- Added JSON configs for all modules (storage, monitoring, ai, voice)
- Multi-provider LLM config with Claude and OpenAI support

## Dependencies
- SQLite3, OpenSSL, cpp-httplib (FetchContent)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-26 00:42:18 +08:00
0dfb5f1535 chore: Normalize line endings and update project documentation
- Normalize CRLF to LF across all source files
- Replace CLAUDE.md.old with updated CLAUDE.md
- Standardize configuration file formatting
- Update module source files with consistent line endings

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-25 22:13:16 +08:00
439b55b176 docs: Add GroveEngine documentation and project overview
- Add comprehensive README.md explaining Aissia is built on GroveEngine
- Add GROVEENGINE_GUIDE.md with complete user guide
- Add docs/project-overview.md
- Archive old CLAUDE.md to CLAUDE.md.old

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-25 12:00:01 +08:00
f6f4813d8f Remove build artifacts from tracking and update retrieval doc
- Add .gitignore for build artifacts
- Update intelligent-document-retrieval.md

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-24 21:40:08 +08:00
80f26aea54 Add infrastructure foundation and intelligent document retrieval
- CMakeLists.txt: build configuration
- src/: initial infrastructure structure
- config/: application configuration
- external/: third-party dependencies
- docs/GROVEENGINE_GUIDE.md: GroveEngine reference guide
- docs/architecture/intelligent-document-retrieval.md: agentic retrieval for AIAssistantModule

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-24 21:34:16 +08:00
f231188880 Refactor documentation structure and add language learning
- Reorganize docs/ (flatten to architecture/ and implementation/)
- Remove MonitoringModule from MVP (no app detection)
- Add LanguageLearningModule to MVP
- Create CLAUDE.md (concise project overview)
- Add language learning to README and architecture
- Update all examples to use SchedulerModule instead of MonitoringModule

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-29 07:28:34 +08:00
ba42b6d9c7 Update CDC with hybrid architecture (WarFactory + multi-target)
- Add hybrid deployment modes: local_dev (MVP) and production_pwa (optional)
- Integrate WarFactory engine reuse with hot-reload 0.4ms
- Define multi-target compilation strategy (DLL/SO/WASM)
- Detail both deployment modes with cost analysis
- Add progressive roadmap: Phase 1 (local), Phase 2 (POC WASM), Phase 3 (cloud)
- Budget clarified: $10-20/mois (local) vs $13-25/mois (cloud)
- Document open questions for technical validation

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-27 11:49:09 +08:00
1ad9bef4c0 Initial commit: AissiA setup 2025-07-31 15:32:16 +08:00
6ba3f42208 Initial commit 2025-07-31 07:24:41 +00:00