Skip to content
Merged

Dev #40

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -243,7 +243,7 @@ Multi-layer security checks prevent:

## Agents Team Configuration System

Cowork Forge V3 introduces a **data-driven configuration system** that transforms hardcoded Agent, Stage, Flow, and Skill definitions into configurable JSON formats, enabling unprecedented flexibility without code modifications.
Cowork Forge introduces a **data-driven configuration system** that transforms hardcoded Agent, Stage, Flow, and Skill definitions into configurable JSON formats, enabling unprecedented flexibility without code modifications.

### Custom Workflows (Flow)

Expand Down
2 changes: 1 addition & 1 deletion crates/cowork-core/src/config_definition/builtin.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ use anyhow::Result;
use include_dir::{include_dir, Dir};

use super::registry::ConfigRegistry;
use super::loader::LoadReport;
use super::registry::LoadReport;

// Embed the default configurations directory
static DEFAULT_CONFIGS: Dir = include_dir!("$CARGO_MANIFEST_DIR/src/config_definition/default_configs");
Expand Down
293 changes: 0 additions & 293 deletions crates/cowork-core/src/config_definition/loader.rs

This file was deleted.

6 changes: 2 additions & 4 deletions crates/cowork-core/src/config_definition/mod.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// Configuration Definition Module for V3
//
// Configuration Definition Module
//
// This module provides data-driven configuration for Agents, Stages, Flows,
// and Integrations. It enables the transition from hardcoded definitions
// to configurable, extensible system architecture.
Expand All @@ -11,7 +11,6 @@ pub mod stage_definition;
pub mod flow_definition;
pub mod integration_definition;
pub mod registry;
pub mod loader;
pub mod validator;
pub mod builtin;
pub mod agent_factory;
Expand All @@ -21,7 +20,6 @@ pub use stage_definition::*;
pub use flow_definition::*;
pub use integration_definition::*;
pub use registry::*;
pub use loader::*;
pub use validator::*;
pub use builtin::load_builtin_configs;
pub use agent_factory::{create_agent_for_stage, create_agent_from_config, initialize_config_registry};
21 changes: 21 additions & 0 deletions crates/cowork-core/src/config_definition/registry.rs
Original file line number Diff line number Diff line change
Expand Up @@ -630,6 +630,27 @@ pub struct LoadUserReport {
pub errors: Vec<String>,
}

/// Report of loading configurations (used by builtin loader)
#[derive(Debug, Clone, Default)]
pub struct LoadReport {
pub agents_loaded: usize,
pub stages_loaded: usize,
pub flows_loaded: usize,
pub integrations_loaded: usize,
pub default_flow_set: bool,
pub errors: Vec<String>,
}

impl LoadReport {
pub fn total_loaded(&self) -> usize {
self.agents_loaded + self.stages_loaded + self.flows_loaded + self.integrations_loaded
}

pub fn has_errors(&self) -> bool {
!self.errors.is_empty()
}
}

/// Settings that persist across sessions
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Settings {
Expand Down
6 changes: 3 additions & 3 deletions crates/cowork-core/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
// Global configuration
pub mod config;

// V3 Configuration Definition Layer
// Configuration Definition Layer
pub mod config_definition;

// ACP (Agent Client Protocol) for external coding agent integration
Expand Down Expand Up @@ -75,7 +75,7 @@ pub use config_definition::{
StageDefinition, StageType, HookConfig, HookPoint, ArtifactConfig, StageRetryConfig,
FlowDefinition, StageReference, FlowConfig, MemoryScope, InheritanceConfig, InheritanceMode,
IntegrationDefinition, IntegrationType, ConnectionConfig, AuthConfig, IntegrationEvent,
ConfigRegistry, global_registry, ConfigLoader, LoadReport, ConfigValidator, ValidationResult,
ConfigRegistry, global_registry, LoadReport, ConfigValidator, ValidationResult,
create_agent_for_stage, create_agent_from_config, initialize_config_registry,
};

Expand Down Expand Up @@ -110,4 +110,4 @@ pub use importer::{
};

// Version info
pub const VERSION: &str = env!("CARGO_PKG_VERSION");
pub const VERSION: &str = env!("CARGO_PKG_VERSION");
Loading
Loading