feat(infra): tmp partagé inter-projets géré par IdeA (handles opaques, leases, GC, projection sandbox) — #189 (QA verte)

- Domaine: port ManagedTempStore + modèle (handle opaque, kind Directory/File, état Active/Released, allocation/lease, expiry).
- Application: use cases Allocate/Resolve/Release/GcManagedTemp, horodatés via Clock.
- Infrastructure: impl FS FsManagedTempStore sous app_data_dir/managed-tmp (root global inter-projets, métadonnées par handle, GC des leases expirés/libérés).
- Exposition MCP contrôlée (ManagedTempToolProvider, catalogue) + câblage sandbox: les agents résolvent un handle au lieu d'inventer un path libre.
- Tests: application/infrastructure managed_temp.
This commit is contained in:
2026-08-13 13:34:33 +02:00
parent d7dfbcdfcb
commit fdca55ecd4
22 changed files with 2000 additions and 72 deletions

View File

@ -18,6 +18,7 @@ pub mod commands;
pub mod dto;
pub mod embedded_server;
pub mod events;
pub mod managed_temp;
pub mod mcp_bridge;
pub mod mcp_endpoint;
pub mod openai_tools;
@ -345,6 +346,10 @@ pub fn run() {
commands::read_chat_draft,
commands::save_chat_draft,
commands::clear_chat_draft,
commands::managed_temp_allocate,
commands::managed_temp_resolve,
commands::managed_temp_release,
commands::managed_temp_gc,
commands::agent_send,
commands::import_chat_attachments,
commands::cancel_resume,