Tourbillon Documentation

website·Indexed 31 days ago

https://docs.bckground.com/tourbillon/

A platform for creating durable programs and business workflows. It features a Starlark-based execution environment with built-in modules for gRPC, HTTP, JSON, YAML, and Protocol Buffers, as well as support for AI Agents, MCP Tools, and OpenTelemetry-based observability.

Tokens
11.1K
Snippets
106
Records
128
Agent score
49%

What's inside Tourbillon

  1. Overview of Tourbillon AI Agent and MCP Tool capabilities

    Tourbillon provides AI Agent and MCP (Model Context Protocol) Tool capabilities designed to integrate into existing development processes and codebases. These features provide determinism and fault tolerance guarantees for AI integrations without requiring additional developer overhead.
  2. Overview of the proto package

    The proto package provides Protocol Buffer encoding, decoding, and introspection for durable programs. It is registered as a predeclared global, meaning it can be used directly in code without requiring a load() statement.
  3. Overview of Tourbillon AI Agent and MCP Tool capabilities

    Tourbillon provides AI Agent and Model Context Protocol (MCP) Tool capabilities designed to integrate into existing development processes and codebases. These features provide determinism and fault tolerance guarantees without requiring additional developer overhead.
  4. Understand Tourbillon's automatic observability

    Tourbillon provides built-in observability by automatically creating spans and logs for every execution and its associated operations. All observability data is generated using the OpenTelemetry format, ensuring compatibility with standard observability tools.
  5. Generate cryptographically secure random values using the rand package

    The rand package provides cryptographically secure random value generation for durable programs. To use these functions, load the package using load("rand", "rand").
    load("rand", "rand")
  6. Understand Tourbillon's built-in observability

    Tourbillon provides automatic observability by generating spans and logs for every execution and its associated operations. These observability data points are produced using the OpenTelemetry format, ensuring compatibility with OpenTelemetry-compliant backends.
  7. Use Tourbillon's automatic observability spans and logs

    Tourbillon provides built-in observability by automatically creating spans and logs for every execution and its associated operations. These observability data points are generated using the OpenTelemetry format, allowing for standardized tracing and logging of system operations.
  8. Use the assert package for Starlark program testing

    The assert package provides assertion utilities specifically designed for testing Starlark programs. To use these utilities, load the package in your Starlark script.
    load("assert", ...)
  9. Invoke child durable programs using the program package

    The program package provides the functionality to invoke other durable programs (acting as "child" programs) from within a currently running durable program. To use this package, load it using the load function.
    load("program", "program")
  10. Use SOPS to encrypt Tourbillon configuration files

    Tourbillon supports SOPS encrypted configurations to protect sensitive credentials. To use encrypted configurations, encrypt your tourbillon.toml file using a SOPS adapter and save the output as tourbillon.enc.toml. When starting the application, provide the necessary adapter environment variables to the tourbillon run command, and Tourbillon will automatically decrypt the configuration.
    # Example using the AGE adapter to run Tourbillon with an encrypted config
    SOPS_AGE_KEY="<AGE_KEY>" tourbillon run