thulp-workspace

Crates.iothulp-workspace
lib.rsthulp-workspace
version0.2.0
created_at2026-01-15 00:10:40.528685+00
updated_at2026-01-15 07:14:39.048489+00
descriptionWorkspace management for thulp execution contexts
homepage
repositoryhttps://github.com/dirmacs/thulp
max_upload_size
id2044228
size24,643
Baalateja Kataru (bkataru)

documentation

README

thulp-workspace

Workspace and session management for thulp execution contexts.

Overview

This crate provides functionality for managing agent workspaces, including context, state, and session persistence. Workspaces allow AI agents to maintain state between tool executions and organize their working environment.

Features

  • Create and manage multiple workspaces
  • Persistent storage of workspace state
  • Context data management
  • Metadata storage
  • Active workspace tracking
  • JSON serialization/deserialization

Usage

use thulp_workspace::{Workspace, WorkspaceManager};
use std::path::PathBuf;

// Create a new workspace
let workspace = Workspace::new("my_project", "My Project", PathBuf::from("/path/to/project"))
    .with_metadata("version", "1.0")
    .with_context("api_key", serde_json::json!("secret123"));

// Save to file
workspace.save_to_file("workspace.json").unwrap();

// Load from file
let loaded = Workspace::load_from_file("workspace.json").unwrap();

// Manage workspaces
let mut manager = WorkspaceManager::new();
manager.create(workspace);
manager.set_active("my_project").unwrap();

Workspace Structure

A workspace contains:

  • ID: Unique identifier for the workspace
  • Name: Human-readable name
  • Root: Root directory path
  • Metadata: Key-value pairs for workspace metadata
  • Context: Structured data for the execution context

License

Licensed under either of:

at your option.

Commit count: 22

cargo fmt