Skip to content
This repository was archived by the owner on Jun 18, 2026. It is now read-only.

v0.7.0

Pre-release
Pre-release

Choose a tag to compare

@SagoDev SagoDev released this 27 Dec 01:20
· 253 commits to main since this release
373f52a

Refactor Overview

Security, Environment API & Domain Typing

This release delivers a significant internal refactor focused on security hardening, environment-level orchestration, and domain formalization. Together, these changes reinforce Fragua’s architectural contracts, improve runtime safety, and establish a more expressive and maintainable core API.


Security & Responsibility Refactor

  • Enforced mandatory security tokens for critical runtime components, with a primary focus on Agents.
  • Promoted the token attribute to a first-class contract in the FraguaAgent base class.
  • Refactored environment registration to always inject tokens deterministically, removing conditional or implicit behavior.
  • Clearly defined responsibility boundaries:
    • The Environment is the sole authority for token generation and injection.
    • Agents act as credentialed executors.
    • The Warehouse validates tokens for protected operations.
  • Prevented agent instantiation and execution without valid credentials, increasing runtime predictability and safety.

This refactor establishes a strict and explicit security model across core components.


Environment-Level Component CRUD API

  • Introduced a unified CRUD interface at the FraguaEnvironment level for managing all components.
  • CRUD operations are action-aware, scoped by ActionType (extract, transform, load) and ComponentType.
  • Centralized component access through a single get(action, kind, name) entry point.
  • Standardized lifecycle management via create, add, update, and delete operations.
  • Integrated automatic token issuance during component creation and registration.
  • Added consistent validation and explicit error handling for invalid or missing components.
  • Enabled action-driven agent instantiation, automatically resolving Extractor, Transformer, or Loader.

This API reduces registry coupling and provides a clean, extensible foundation for programmatic environment management.


Domain Enums and Typed Constants

  • Introduced a comprehensive enum-based domain type system to replace string-based identifiers.
  • Added strongly typed enums covering all core domain axes, including:
    • Actions, components, agents, storage, targets, operations, fields, and attributes.
  • Provided exported enum aliases (e.g. EXTRACT, AGENT, CSV, GET) for concise yet type-safe usage.
  • Refactored environment, registry, and component APIs to consume enums consistently.
  • Eliminated magic strings and centralized validation through enum constraints.
  • Improved static analysis, IDE autocompletion, and API readability.
  • Established a clear, extensible domain vocabulary for future integrations and features.

This change significantly improves internal consistency and long-term maintainability while preserving developer ergonomics.


Overall, this release solidifies Fragua’s core architecture by combining explicit security guarantees, a coherent environment API, and a formally defined domain language.