#![allow(dead_code)]
use crate::tokens::Trivia;
#[derive(Debug, Clone, Default)]
pub struct Loc {
pub line: u32,
pub column: u32,
}
#[derive(Debug, Clone, Default)]
pub struct DeclarationTrivia {
pub leading: Vec<Trivia>,
pub trailing: Vec<Trivia>,
}
#[derive(Debug)]
pub struct Program {
pub declarations: Vec<Declaration>,
pub declaration_trivia: Vec<DeclarationTrivia>,
pub loc: Loc,
}
#[derive(Debug)]
pub enum Declaration {
Import(ImportNode),
Persona(PersonaDefinition),
Context(ContextDefinition),
Anchor(AnchorConstraint),
Memory(MemoryDefinition),
Tool(ToolDefinition),
Type(TypeDefinition),
Flow(FlowDefinition),
Intent(IntentNode),
Run(RunStatement),
Epistemic(EpistemicBlock),
Let(LetStatement),
LambdaData(LambdaDataDefinition),
Agent(AgentDefinition),
Shield(ShieldDefinition),
Pix(PixDefinition),
Psyche(PsycheDefinition),
Corpus(CorpusDefinition),
Dataspace(DataspaceDefinition),
Ots(OtsDefinition),
Mandate(MandateDefinition),
Compute(ComputeDefinition),
Daemon(DaemonDefinition),
AxonStore(AxonStoreDefinition),
AxonEndpoint(AxonEndpointDefinition),
Resource(ResourceDefinition),
Fabric(FabricDefinition),
Manifest(ManifestDefinition),
Observe(ObserveDefinition),
Reconcile(ReconcileDefinition),
Lease(LeaseDefinition),
Ensemble(EnsembleDefinition),
Session(SessionDefinition),
Topology(TopologyDefinition),
Immune(ImmuneDefinition),
Reflex(ReflexDefinition),
Heal(HealDefinition),
Component(ComponentDefinition),
View(ViewDefinition),
Channel(ChannelDefinition),
Generic(GenericDeclaration),
}
#[derive(Debug, Default)]
pub struct ResourceDefinition {
pub name: String,
pub kind: String, pub endpoint: String, pub capacity: Option<i64>, pub lifetime: String, pub certainty_floor: Option<f64>, pub shield_ref: String, pub loc: Loc,
pub leading_trivia: Vec<crate::tokens::Trivia>,
pub trailing_trivia: Vec<crate::tokens::Trivia>,
}
#[derive(Debug, Default)]
pub struct FabricDefinition {
pub name: String,
pub provider: String, pub region: String, pub zones: Option<i64>, pub ephemeral: Option<bool>, pub shield_ref: String, pub loc: Loc,
pub leading_trivia: Vec<crate::tokens::Trivia>,
pub trailing_trivia: Vec<crate::tokens::Trivia>,
}
#[derive(Debug, Default)]
pub struct ManifestDefinition {
pub name: String,
pub resources: Vec<String>, pub fabric_ref: String, pub region: String,
pub zones: Option<i64>,
pub compliance: Vec<String>, pub loc: Loc,
pub leading_trivia: Vec<crate::tokens::Trivia>,
pub trailing_trivia: Vec<crate::tokens::Trivia>,
}
#[derive(Debug, Default)]
pub struct ObserveDefinition {
pub name: String,
pub target: String, pub sources: Vec<String>,
pub quorum: Option<i64>, pub timeout: String, pub on_partition: String, pub certainty_floor: Option<f64>,
pub loc: Loc,
pub leading_trivia: Vec<crate::tokens::Trivia>,
pub trailing_trivia: Vec<crate::tokens::Trivia>,
}
#[derive(Debug, Default)]
pub struct ReconcileDefinition {
pub name: String,
pub observe_ref: String,
pub threshold: Option<f64>, pub tolerance: Option<f64>, pub on_drift: String, pub shield_ref: String,
pub mandate_ref: String,
pub max_retries: i64, pub loc: Loc,
pub leading_trivia: Vec<crate::tokens::Trivia>,
pub trailing_trivia: Vec<crate::tokens::Trivia>,
}
#[derive(Debug, Default)]
pub struct LeaseDefinition {
pub name: String,
pub resource_ref: String,
pub duration: String, pub acquire: String, pub on_expire: String, pub loc: Loc,
pub leading_trivia: Vec<crate::tokens::Trivia>,
pub trailing_trivia: Vec<crate::tokens::Trivia>,
}
#[derive(Debug, Default)]
pub struct EnsembleDefinition {
pub name: String,
pub observations: Vec<String>,
pub quorum: Option<i64>,
pub aggregation: String, pub certainty_mode: String, pub loc: Loc,
pub leading_trivia: Vec<crate::tokens::Trivia>,
pub trailing_trivia: Vec<crate::tokens::Trivia>,
}
#[derive(Debug, Clone, Default)]
pub struct SessionStep {
pub op: String, pub message_type: String, pub loc: Loc,
}
#[derive(Debug, Default)]
pub struct SessionRole {
pub name: String,
pub steps: Vec<SessionStep>,
pub loc: Loc,
}
#[derive(Debug, Default)]
pub struct SessionDefinition {
pub name: String,
pub roles: Vec<SessionRole>,
pub loc: Loc,
pub leading_trivia: Vec<crate::tokens::Trivia>,
pub trailing_trivia: Vec<crate::tokens::Trivia>,
}
#[derive(Debug, Default)]
pub struct TopologyEdge {
pub source: String,
pub target: String,
pub session_ref: String,
pub loc: Loc,
}
#[derive(Debug, Default)]
pub struct TopologyDefinition {
pub name: String,
pub nodes: Vec<String>,
pub edges: Vec<TopologyEdge>,
pub loc: Loc,
pub leading_trivia: Vec<crate::tokens::Trivia>,
pub trailing_trivia: Vec<crate::tokens::Trivia>,
}
#[derive(Debug, Default)]
pub struct ImmuneDefinition {
pub name: String,
pub watch: Vec<String>, pub sensitivity: Option<f64>, pub baseline: String, pub window: i64, pub scope: String, pub tau: String, pub decay: String, pub loc: Loc,
pub leading_trivia: Vec<crate::tokens::Trivia>,
pub trailing_trivia: Vec<crate::tokens::Trivia>,
}
#[derive(Debug, Default)]
pub struct ReflexDefinition {
pub name: String,
pub trigger: String, pub on_level: String, pub action: String, pub scope: String, pub sla: String, pub loc: Loc,
pub leading_trivia: Vec<crate::tokens::Trivia>,
pub trailing_trivia: Vec<crate::tokens::Trivia>,
}
#[derive(Debug, Default)]
pub struct HealDefinition {
pub name: String,
pub source: String, pub on_level: String, pub mode: String, pub scope: String, pub review_sla: String, pub shield_ref: String, pub max_patches: i64, pub loc: Loc,
pub leading_trivia: Vec<crate::tokens::Trivia>,
pub trailing_trivia: Vec<crate::tokens::Trivia>,
}
#[derive(Debug, Default)]
pub struct ComponentDefinition {
pub name: String,
pub renders: String,
pub via_shield: String,
pub on_interact: String,
pub render_hint: String, pub loc: Loc,
pub leading_trivia: Vec<crate::tokens::Trivia>,
pub trailing_trivia: Vec<crate::tokens::Trivia>,
}
#[derive(Debug, Default)]
pub struct ViewDefinition {
pub name: String,
pub title: String,
pub components: Vec<String>,
pub route: String,
pub loc: Loc,
pub leading_trivia: Vec<crate::tokens::Trivia>,
pub trailing_trivia: Vec<crate::tokens::Trivia>,
}
#[derive(Debug)]
pub struct GenericDeclaration {
pub keyword: String,
pub name: String,
pub loc: Loc,
pub leading_trivia: Vec<crate::tokens::Trivia>,
pub trailing_trivia: Vec<crate::tokens::Trivia>,
}
#[derive(Debug)]
pub struct AgentDefinition {
pub name: String,
pub goal: String,
pub tools: Vec<String>,
pub memory_ref: String,
pub strategy: String, pub on_stuck: String, pub shield_ref: String,
pub max_iterations: Option<i64>,
pub max_tokens: Option<i64>,
pub max_time: String,
pub max_cost: Option<f64>,
pub loc: Loc,
pub leading_trivia: Vec<crate::tokens::Trivia>,
pub trailing_trivia: Vec<crate::tokens::Trivia>,
}
#[derive(Debug)]
pub struct ShieldDefinition {
pub name: String,
pub scan: Vec<String>,
pub strategy: String, pub on_breach: String, pub severity: String, pub quarantine: String,
pub max_retries: Option<i64>,
pub confidence_threshold: Option<f64>,
pub allow_tools: Vec<String>,
pub deny_tools: Vec<String>,
pub sandbox: Option<bool>,
pub redact: Vec<String>,
pub log: String,
pub deflect_message: String,
pub taint: String,
pub compliance: Vec<String>,
pub loc: Loc,
pub leading_trivia: Vec<crate::tokens::Trivia>,
pub trailing_trivia: Vec<crate::tokens::Trivia>,
}
#[derive(Debug)]
pub struct PixDefinition {
pub name: String,
pub source: String,
pub depth: Option<i64>,
pub branching: Option<i64>,
pub model: String,
pub loc: Loc,
pub leading_trivia: Vec<crate::tokens::Trivia>,
pub trailing_trivia: Vec<crate::tokens::Trivia>,
}
#[derive(Debug)]
pub struct PsycheDefinition {
pub name: String,
pub dimensions: Vec<String>,
pub manifold_noise: Option<f64>,
pub manifold_momentum: Option<f64>,
pub safety_constraints: Vec<String>,
pub quantum_enabled: Option<bool>,
pub inference_mode: String, pub loc: Loc,
pub leading_trivia: Vec<crate::tokens::Trivia>,
pub trailing_trivia: Vec<crate::tokens::Trivia>,
}
#[derive(Debug)]
pub struct CorpusDefinition {
pub name: String,
pub documents: Vec<String>, pub mcp_server: String,
pub mcp_resource_uri: String,
pub loc: Loc,
pub leading_trivia: Vec<crate::tokens::Trivia>,
pub trailing_trivia: Vec<crate::tokens::Trivia>,
}
#[derive(Debug)]
pub struct DataspaceDefinition {
pub name: String,
pub loc: Loc,
pub leading_trivia: Vec<crate::tokens::Trivia>,
pub trailing_trivia: Vec<crate::tokens::Trivia>,
}
#[derive(Debug)]
pub struct OtsDefinition {
pub name: String,
pub teleology: String,
pub homotopy_search: String, pub loss_function: String,
pub loc: Loc,
pub leading_trivia: Vec<crate::tokens::Trivia>,
pub trailing_trivia: Vec<crate::tokens::Trivia>,
}
#[derive(Debug)]
pub struct MandateDefinition {
pub name: String,
pub constraint: String,
pub kp: Option<f64>,
pub ki: Option<f64>,
pub kd: Option<f64>,
pub tolerance: Option<f64>,
pub max_steps: Option<i64>,
pub on_violation: String, pub loc: Loc,
pub leading_trivia: Vec<crate::tokens::Trivia>,
pub trailing_trivia: Vec<crate::tokens::Trivia>,
}
#[derive(Debug)]
pub struct ComputeDefinition {
pub name: String,
pub shield_ref: String,
pub loc: Loc,
pub leading_trivia: Vec<crate::tokens::Trivia>,
pub trailing_trivia: Vec<crate::tokens::Trivia>,
}
#[derive(Debug)]
pub struct DaemonDefinition {
pub name: String,
pub goal: String,
pub tools: Vec<String>,
pub memory_ref: String,
pub strategy: String, pub on_stuck: String, pub shield_ref: String,
pub max_tokens: Option<i64>,
pub max_time: String,
pub max_cost: Option<f64>,
pub listeners: Vec<ListenStep>,
pub loc: Loc,
pub leading_trivia: Vec<crate::tokens::Trivia>,
pub trailing_trivia: Vec<crate::tokens::Trivia>,
}
#[derive(Debug)]
pub struct AxonStoreDefinition {
pub name: String,
pub backend: String, pub connection: String,
pub confidence_floor: Option<f64>,
pub isolation: String, pub on_breach: String, pub loc: Loc,
pub leading_trivia: Vec<crate::tokens::Trivia>,
pub trailing_trivia: Vec<crate::tokens::Trivia>,
}
#[derive(Debug)]
pub struct AxonEndpointDefinition {
pub name: String,
pub method: String, pub path: String,
pub body_type: String,
pub execute_flow: String,
pub output_type: String,
pub shield_ref: String,
pub retries: Option<i64>,
pub timeout: String,
pub compliance: Vec<String>,
pub loc: Loc,
pub leading_trivia: Vec<crate::tokens::Trivia>,
pub trailing_trivia: Vec<crate::tokens::Trivia>,
}
#[derive(Debug)]
pub struct ImportNode {
pub module_path: Vec<String>,
pub names: Vec<String>,
pub loc: Loc,
pub leading_trivia: Vec<crate::tokens::Trivia>,
pub trailing_trivia: Vec<crate::tokens::Trivia>,
}
#[derive(Debug)]
pub struct PersonaDefinition {
pub name: String,
pub domain: Vec<String>,
pub tone: String,
pub confidence_threshold: Option<f64>,
pub cite_sources: Option<bool>,
pub refuse_if: Vec<String>,
pub language: String,
pub description: String,
pub loc: Loc,
pub leading_trivia: Vec<crate::tokens::Trivia>,
pub trailing_trivia: Vec<crate::tokens::Trivia>,
}
#[derive(Debug)]
pub struct ContextDefinition {
pub name: String,
pub memory_scope: String,
pub language: String,
pub depth: String,
pub max_tokens: Option<i64>,
pub temperature: Option<f64>,
pub cite_sources: Option<bool>,
pub loc: Loc,
pub leading_trivia: Vec<crate::tokens::Trivia>,
pub trailing_trivia: Vec<crate::tokens::Trivia>,
}
#[derive(Debug)]
pub struct AnchorConstraint {
pub name: String,
pub require: String,
pub reject: Vec<String>,
pub enforce: String,
pub description: String,
pub confidence_floor: Option<f64>,
pub unknown_response: String,
pub on_violation: String,
pub on_violation_target: String,
pub loc: Loc,
pub leading_trivia: Vec<crate::tokens::Trivia>,
pub trailing_trivia: Vec<crate::tokens::Trivia>,
}
#[derive(Debug)]
pub struct MemoryDefinition {
pub name: String,
pub store: String,
pub backend: String,
pub retrieval: String,
pub decay: String,
pub loc: Loc,
pub leading_trivia: Vec<crate::tokens::Trivia>,
pub trailing_trivia: Vec<crate::tokens::Trivia>,
}
#[derive(Debug)]
pub struct ToolDefinition {
pub name: String,
pub provider: String,
pub max_results: Option<i64>,
pub filter_expr: String,
pub timeout: String,
pub runtime: String,
pub sandbox: Option<bool>,
pub effects: Option<EffectRow>,
pub loc: Loc,
pub leading_trivia: Vec<crate::tokens::Trivia>,
pub trailing_trivia: Vec<crate::tokens::Trivia>,
}
#[derive(Debug)]
pub struct EffectRow {
pub effects: Vec<String>,
pub epistemic_level: String,
pub loc: Loc,
}
#[derive(Debug)]
pub struct TypeDefinition {
pub name: String,
pub fields: Vec<TypeField>,
pub range_constraint: Option<RangeConstraint>,
pub where_clause: Option<WhereClause>,
pub compliance: Vec<String>,
pub loc: Loc,
pub leading_trivia: Vec<crate::tokens::Trivia>,
pub trailing_trivia: Vec<crate::tokens::Trivia>,
}
#[derive(Debug, Clone)]
pub struct TypeExpr {
pub name: String,
pub generic_param: String,
pub optional: bool,
pub loc: Loc,
}
#[derive(Debug)]
pub struct TypeField {
pub name: String,
pub type_expr: TypeExpr,
pub loc: Loc,
}
#[derive(Debug)]
pub struct RangeConstraint {
pub min_value: f64,
pub max_value: f64,
pub loc: Loc,
}
#[derive(Debug)]
pub struct WhereClause {
pub expression: String,
pub loc: Loc,
}
#[derive(Debug)]
pub struct FlowDefinition {
pub name: String,
pub parameters: Vec<Parameter>,
pub return_type: Option<TypeExpr>,
pub body: Vec<FlowStep>,
pub loc: Loc,
pub leading_trivia: Vec<crate::tokens::Trivia>,
pub trailing_trivia: Vec<crate::tokens::Trivia>,
}
#[derive(Debug)]
pub struct Parameter {
pub name: String,
pub type_expr: TypeExpr,
pub loc: Loc,
}
#[derive(Debug)]
pub enum FlowStep {
Step(StepNode),
If(ConditionalNode),
ForIn(ForInStatement),
Let(LetStatement),
Return(ReturnStatement),
Break(BreakStatement),
Continue(ContinueStatement),
LambdaDataApply(LambdaDataApplyNode),
Probe(ProbeStep),
Reason(ReasonStep),
Validate(ValidateStep),
Refine(RefineStep),
Weave(WeaveStep),
UseTool(UseToolStep),
Remember(RememberStep),
Recall(RecallStep),
Par(ParBlock),
Hibernate(HibernateStep),
Deliberate(DeliberateBlock),
Consensus(ConsensusBlock),
Forge(ForgeBlock),
Focus(FocusStep),
Associate(AssociateStep),
Aggregate(AggregateStep),
ExploreStep(ExploreStepNode),
Ingest(IngestStep),
ShieldApply(ShieldApplyStep),
Stream(StreamBlock),
Navigate(NavigateStep),
Drill(DrillStep),
Trail(TrailStep),
Corroborate(CorroborateStep),
OtsApply(OtsApplyStep),
MandateApply(MandateApplyStep),
ComputeApply(ComputeApplyStep),
Listen(ListenStep),
DaemonStep(DaemonStepNode),
Emit(EmitStatement),
Publish(PublishStatement),
Discover(DiscoverStatement),
Persist(PersistStep),
Retrieve(RetrieveStep),
Mutate(MutateStep),
Purge(PurgeStep),
Transact(TransactBlock),
GenericStep(GenericFlowStep),
}
#[derive(Debug)]
pub struct GenericFlowStep {
pub keyword: String,
pub loc: Loc,
}
#[derive(Debug)]
pub struct StepNode {
pub name: String,
pub persona_ref: String,
pub given: String,
pub ask: String,
pub output_type: String,
pub confidence_floor: Option<f64>,
pub navigate_ref: String,
pub apply_ref: String,
pub loc: Loc,
}
#[derive(Debug)]
pub struct IntentNode {
pub name: String,
pub given: String,
pub ask: String,
pub output_type: Option<TypeExpr>,
pub confidence_floor: Option<f64>,
pub loc: Loc,
pub leading_trivia: Vec<crate::tokens::Trivia>,
pub trailing_trivia: Vec<crate::tokens::Trivia>,
}
#[derive(Debug)]
pub struct RunStatement {
pub flow_name: String,
pub arguments: Vec<String>,
pub persona: String,
pub context: String,
pub anchors: Vec<String>,
pub on_failure: String,
pub on_failure_params: Vec<(String, String)>,
pub output_to: String,
pub effort: String,
pub loc: Loc,
pub leading_trivia: Vec<crate::tokens::Trivia>,
pub trailing_trivia: Vec<crate::tokens::Trivia>,
}
#[derive(Debug)]
pub struct EpistemicBlock {
pub mode: String,
pub body: Vec<Declaration>,
pub loc: Loc,
pub leading_trivia: Vec<crate::tokens::Trivia>,
pub trailing_trivia: Vec<crate::tokens::Trivia>,
}
#[derive(Debug)]
pub struct ConditionalNode {
pub condition: String,
pub comparison_op: String,
pub comparison_value: String,
pub then_body: Vec<FlowStep>,
pub else_body: Vec<FlowStep>,
pub conditions: Vec<(String, String, String)>,
pub conjunctor: String,
pub loc: Loc,
}
#[derive(Debug)]
pub struct ForInStatement {
pub variable: String,
pub iterable: String,
pub body: Vec<FlowStep>,
pub loc: Loc,
}
#[derive(Debug)]
pub struct LetStatement {
pub identifier: String,
pub value_expr: String,
pub value_kind: String,
pub loc: Loc,
pub leading_trivia: Vec<crate::tokens::Trivia>,
pub trailing_trivia: Vec<crate::tokens::Trivia>,
}
#[derive(Debug)]
pub struct ReturnStatement {
pub value_expr: String,
pub loc: Loc,
}
#[derive(Debug)]
pub struct BreakStatement {
pub loc: Loc,
}
#[derive(Debug)]
pub struct ContinueStatement {
pub loc: Loc,
}
#[derive(Debug)]
pub struct LambdaDataDefinition {
pub name: String,
pub ontology: String, pub certainty: f64, pub temporal_frame_start: String, pub temporal_frame_end: String, pub provenance: String, pub derivation: String, pub loc: Loc,
pub leading_trivia: Vec<crate::tokens::Trivia>,
pub trailing_trivia: Vec<crate::tokens::Trivia>,
}
#[derive(Debug)]
pub struct LambdaDataApplyNode {
pub lambda_data_name: String, pub target: String, pub output_type: String, pub loc: Loc,
}
#[derive(Debug)]
pub struct ProbeStep {
pub target: String,
pub loc: Loc,
}
#[derive(Debug)]
pub struct ReasonStep {
pub strategy: String,
pub target: String,
pub loc: Loc,
}
#[derive(Debug)]
pub struct ValidateStep {
pub target: String,
pub rule: String,
pub loc: Loc,
}
#[derive(Debug)]
pub struct RefineStep {
pub target: String,
pub strategy: String,
pub loc: Loc,
}
#[derive(Debug)]
pub struct WeaveStep {
pub sources: Vec<String>,
pub target: String,
pub format_type: String,
pub priority: Vec<String>,
pub style: String,
pub loc: Loc,
}
#[derive(Debug)]
pub struct UseToolStep {
pub tool_name: String,
pub argument: String,
pub loc: Loc,
}
#[derive(Debug)]
pub struct RememberStep {
pub expression: String,
pub memory_target: String,
pub loc: Loc,
}
#[derive(Debug)]
pub struct RecallStep {
pub query: String,
pub memory_source: String,
pub loc: Loc,
}
#[derive(Debug)]
pub struct ParBlock {
pub loc: Loc,
}
#[derive(Debug)]
pub struct HibernateStep {
pub event_name: String,
pub timeout: String,
pub loc: Loc,
}
#[derive(Debug)]
pub struct DeliberateBlock {
pub loc: Loc,
}
#[derive(Debug)]
pub struct ConsensusBlock {
pub loc: Loc,
}
#[derive(Debug)]
pub struct ForgeBlock {
pub loc: Loc,
}
#[derive(Debug)]
pub struct FocusStep {
pub expression: String,
pub loc: Loc,
}
#[derive(Debug)]
pub struct AssociateStep {
pub left: String,
pub right: String,
pub using_field: String,
pub loc: Loc,
}
#[derive(Debug)]
pub struct AggregateStep {
pub target: String,
pub group_by: Vec<String>,
pub alias: String,
pub loc: Loc,
}
#[derive(Debug)]
pub struct ExploreStepNode {
pub target: String,
pub limit: Option<i64>,
pub loc: Loc,
}
#[derive(Debug)]
pub struct IngestStep {
pub source: String,
pub target: String,
pub loc: Loc,
}
#[derive(Debug)]
pub struct ShieldApplyStep {
pub shield_name: String,
pub target: String,
pub output_type: String,
pub loc: Loc,
}
#[derive(Debug)]
pub struct StreamBlock {
pub loc: Loc,
}
#[derive(Debug)]
pub struct NavigateStep {
pub pix_name: String,
pub corpus_name: String,
pub query_expr: String,
pub trail_enabled: bool,
pub output_name: String,
pub loc: Loc,
}
#[derive(Debug)]
pub struct DrillStep {
pub pix_name: String,
pub subtree_path: String,
pub query_expr: String,
pub output_name: String,
pub loc: Loc,
}
#[derive(Debug)]
pub struct TrailStep {
pub navigate_ref: String,
pub loc: Loc,
}
#[derive(Debug)]
pub struct CorroborateStep {
pub navigate_ref: String,
pub output_name: String,
pub loc: Loc,
}
#[derive(Debug)]
pub struct OtsApplyStep {
pub ots_name: String,
pub target: String,
pub output_type: String,
pub loc: Loc,
}
#[derive(Debug)]
pub struct MandateApplyStep {
pub mandate_name: String,
pub target: String,
pub output_type: String,
pub loc: Loc,
}
#[derive(Debug)]
pub struct ComputeApplyStep {
pub compute_name: String,
pub arguments: Vec<String>,
pub output_name: String,
pub loc: Loc,
}
#[derive(Debug)]
pub struct ListenStep {
pub channel: String,
pub channel_is_ref: bool,
pub event_alias: String,
pub loc: Loc,
}
#[derive(Debug)]
pub struct DaemonStepNode {
pub daemon_ref: String,
pub loc: Loc,
}
#[derive(Debug)]
pub struct PersistStep {
pub store_name: String,
pub loc: Loc,
}
#[derive(Debug)]
pub struct RetrieveStep {
pub store_name: String,
pub where_expr: String,
pub alias: String,
pub loc: Loc,
}
#[derive(Debug)]
pub struct MutateStep {
pub store_name: String,
pub where_expr: String,
pub loc: Loc,
}
#[derive(Debug)]
pub struct PurgeStep {
pub store_name: String,
pub where_expr: String,
pub loc: Loc,
}
#[derive(Debug)]
pub struct TransactBlock {
pub loc: Loc,
}
#[derive(Debug)]
pub struct ChannelDefinition {
pub name: String,
pub message: String, pub qos: String, pub lifetime: String, pub persistence: String, pub shield_ref: String, pub loc: Loc,
pub leading_trivia: Vec<crate::tokens::Trivia>,
pub trailing_trivia: Vec<crate::tokens::Trivia>,
}
#[derive(Debug)]
pub struct EmitStatement {
pub channel_ref: String,
pub value_ref: String,
pub loc: Loc,
}
#[derive(Debug)]
pub struct PublishStatement {
pub channel_ref: String,
pub shield_ref: String,
pub loc: Loc,
}
#[derive(Debug)]
pub struct DiscoverStatement {
pub capability_ref: String,
pub alias: String,
pub loc: Loc,
}