Expand description
DSL Type Definitions - Single Source of Truth
This crate defines the scenario DSL types used throughout the codebase:
- Runtime deserialization of scenario JSON
- Compiler type-safe access to scenario structure
- Auto-generation of JSON Schema via schemars (in build.rs)
Changes to these types automatically update specs/dsl/v{VERSION}/schema.json on rebuild.
Modules§
- agent_
meta - Agent capability metadata types for runtime introspection
- paths
- spec
- Specification Generation Module
Structs§
- Agent
Step - Executes an agent capability
- Composite
Value - A composite value that builds structured objects or arrays from nested MappingValues.
- Condition
Operation - An operation in a condition expression
- Conditional
Step - Evaluates conditions and branches execution
- Connection
Step - Acquire a connection dynamically for use with secure agents.
- Execution
Graph - The execution graph containing all steps and control flow
- Execution
Plan Edge - An edge in the execution plan defining control flow
- File
Data - Base64-encoded file data structure. Used for file inputs/outputs in scenarios and operators.
- Finish
Step - Exit point step - defines scenario outputs
- Immediate
Value - An immediate (literal) value.
- LogStep
- Emit custom log/debug events during workflow execution
- Note
- Visual annotation for scenario editor UI
- Position
- Position coordinates for UI elements
- Reference
Value - A reference to data at a specific path.
- Scenario
- Complete scenario definition
- Schema
Field - A field definition for input/output schemas.
- Split
Config - Configuration for a Split step. Defines the array to iterate over and execution options.
- Split
Step - Iterates over an array, executing subgraph for each item
- Start
Scenario Step - Executes a nested child scenario
- Step
Common - Common fields shared by all step types
- Step
Type Info - Metadata about a step type for documentation
- Switch
Case - A single case in a Switch step. Defines a match condition and the output to produce if matched.
- Switch
Config - Configuration for a Switch step. Defines the value to switch on, the cases to match, and the default output.
- Switch
Step - Multi-way branch based on value matching
- Variable
- A typed variable definition with its value.
- While
Config - Configuration for a While step.
- While
Step - Conditional loop - repeat subgraph until condition is false
Enums§
- Child
Version - Child scenario version specification
- Composite
Inner - Inner value for CompositeValue - either an object or array of MappingValues.
- Condition
Argument - An argument to a condition operation. Can be a nested expression or a mapping value (reference or immediate).
- Condition
Expression - A condition expression for conditional branching. Can be either an operation (with operator and arguments) or a simple value check.
- Condition
Operator - Condition expression operators
- LogLevel
- Log level for Log steps
- Mapping
Value - A mapping value specifies how to obtain data for a field.
- Memory
Tier - Memory allocation tier for scenario execution
- Schema
Field Type - Data types for schema fields. Used in input/output schema definitions.
- Step
- Union of all step types, discriminated by stepType field
- Switch
Match Type - Match type for switch cases. Supports all ConditionOperator values plus compound match types.
- Value
Type - Type hints for reference values. Used to interpret data from unknown sources (e.g., HTTP responses).
- Variable
Type - Data types for variables. Matches the operator field types for consistency.
Constants§
- DSL_
VERSION - DSL version - bump when making breaking changes
Functions§
- get_
step_ types - Get metadata for all step types (collected via inventory from step_registration.rs)
- parse_
execution_ graph - Parse an execution graph from JSON Value
- parse_
scenario - Parse a complete scenario from JSON Value
Type Aliases§
- Input
Mapping - Maps data from various sources to step inputs. Keys are destination field names, values specify how to obtain the data.