πŸ“‹DSL structure

πŸ—οΈ Schema overview

{
  "stream_definition": {
    {
      "name": "string (required)",
      "description": "string (required)",
      "state": [...], // StateConfig[]
      "topic_subscription": {}, // TopicSubscription
      "conditions": [...], // ConditionGroup
      "actions": [...] // Action[]
    }
  }
}

πŸ”„ State configuration

Load data from various sources.

StateConfig schema

{
  "state_name": "string (required)",
  "source": "rocksdb|main_topic (required)",
  "key": "string (required)"
}
Field
Type
Required
Description

state_name

string

βœ…

Variable name to use in conditions

source

enum

βœ…

Data source: rocksdb, main_topic, state_data

key

string

βœ…

Key/path to retrieve data, separate with "."

RocksDB state

Learn more about Rocksdb state β†’

Main topic data source

Learn more about Main topic β†’

State data

πŸ“‘ Topic subscriptions

Define which topic to listen to.

TopicSubscription Schema

Field
Type
Required
Description

topic

string

βœ…

Redpanda topic name

🎯 Conditions

Define when the rule should trigger.

ConditionGroup schema

Field
Type
Required
Description

type

enum

βœ…

all (AND) or any (OR)

rules

array

βœ…

Array of conditions

Condition Schema

Field
Type
Required
Description

state_calculation

string

βœ…

Math expression of state in State configuration

operator

enum

βœ…

Comparison operator

value

any

βœ…

Value to compare against

Supported Operators

Comparison operators

  • equals - Exact match

  • greater_than - Numeric >

  • less_than - Numeric <

  • greater_than_or_equal - Numeric >=

  • less_than_or_equal - Numeric <=

String operators

  • contains - String contains substring

  • not_contains - String does not contain

  • starts_with - String starts with

  • ends_with - String ends with

Math Expressions in Conditions

Supported Operations:

  • Arithmetic: +, -, *, /, %

  • Parentheses: (, )

  • Scientific notation: 1.23e-8

  • State variables: current_price, volume

🎬 Actions

Define what to do when conditions are met.

Action schema

Field
Type
Required
Description

action_type

enum

βœ…

Action type: push_signal, save_state, etc.

data

object

βœ…

Action-specific configuration

Push signal action

SignalData Configuration

Token Signal:

Signer Signal:

Transaction Signal:

Last updated