@rot-balance/core
v0.3.0
Published
Core orchestration engine for rot-balance — AI-driven workflow execution with transactional safety
Maintainers
Readme
@rot-balance/core
Core orchestration engine for rot-balance — AI-driven workflow execution with transactional safety.
Install
npm install @rot-balance/coreWhat's Inside
| Component | Description |
|-----------|-------------|
| Orchestrator | Executes workflows step-by-step with automatic rollback on failure |
| StateMachine | 8-state FSM: pending → running → completed/failed → rolling_back → rolled_back |
| RollbackEngine | LIFO undo stack — every step registers a reverse function |
| AgentRuntime | Multi-turn AI agents with tool calling, handoffs, and turn limits |
| WorkflowRunner | Multi-phase workflow pipelines with phase gates and agent coordination |
| ComplianceScanner | GDPR auto-audit engine — 116 checks across 13 domains |
| SecretBox | Zero-knowledge secret wrapper — toString() returns [REDACTED] |
| ExecutionPolicy | 9 validation gates for every workflow step |
| AIOutputGuard | Blocks secret leakage from AI-generated plans |
| Sanitizer | Detects 8 secret patterns (AWS keys, GitHub tokens, JWTs, etc.) |
Usage
import {
Orchestrator,
ComplianceScanner,
SecretBox,
validateAIOutput,
} from "@rot-balance/core";
// Transactional workflow execution
const orchestrator = new Orchestrator();
const result = await orchestrator.execute(plan, plugins);
// Zero-knowledge secrets
const secret = new SecretBox("sk-ant-api03-...");
console.log(secret); // SecretBox [REDACTED]
secret.unwrap(); // explicit access only
// AI output validation
validateAIOutput(aiGeneratedPlan); // throws if secrets detectedPlugin Interface
Build custom plugins that integrate with the orchestrator:
import type { Plugin, ActionResult } from "@rot-balance/core";
class MyPlugin implements Plugin {
readonly name = "my-plugin";
readonly actions = { /* ... */ };
async execute(action, params): Promise<ActionResult> { /* ... */ }
async rollback(action, params, result) { /* ... */ }
}AI Engine Interface
Build custom AI adapters:
import type { AIEngineAdapter, GenerateParams, GenerateResult } from "@rot-balance/core";
class MyAdapter implements AIEngineAdapter {
readonly name = "my-engine";
async generate<T>(params: GenerateParams): Promise<GenerateResult<T>> { /* ... */ }
}Part of rot-balance
This is the core engine package. For the full platform, see rot-balance — 27 packages, 13 AI adapters, 11 SaaS plugins, 131 actions.
