[package]
edition = "2021"
rust-version = "1.75"
name = "telltale-runtime"
version = "17.0.0"
authors = ["Sam Hart"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Choreographic programming for Telltale - effect-based distributed protocols"
readme = "README.md"
keywords = [
"choreography",
"session",
"types",
"effects",
]
categories = [
"asynchronous",
"concurrency",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/hxrts/telltale"
[features]
_wasm_integration_tests = []
default = []
native-cli = []
native-examples = []
test-utils = ["rand"]
wasm = ["getrandom/js"]
[lib]
name = "telltale_runtime"
path = "src/lib.rs"
bench = false
[[bin]]
name = "choreo-fmt"
path = "src/bin/choreo_fmt.rs"
required-features = ["native-cli"]
[[bin]]
name = "effect-scaffold"
path = "src/bin/effect_scaffold.rs"
required-features = ["native-cli"]
[[example]]
name = "authority_surface"
path = "examples/authority_surface.rs"
[[example]]
name = "choreography_tour"
path = "examples/choreography_tour.rs"
[[example]]
name = "debug_param_roles"
path = "examples/debug_param_roles.rs"
[[example]]
name = "error_demo"
path = "examples/error_demo.rs"
[[example]]
name = "extension_capability"
path = "examples/extension_capability.rs"
[[example]]
name = "extension_example"
path = "examples/extension_example.rs"
[[example]]
name = "extension_logging"
path = "examples/extension_logging.rs"
[[example]]
name = "extension_workflow"
path = "examples/extension_workflow.rs"
required-features = ["native-examples"]
[[example]]
name = "macro_choreography"
path = "examples/macro_choreography.rs"
[[example]]
name = "parameterized_roles_full"
path = "examples/parameterized_roles_full.rs"
[[example]]
name = "roles_parameterized"
path = "examples/roles_parameterized.rs"
[[example]]
name = "tcp_ping_pong"
path = "examples/tcp_ping_pong.rs"
required-features = ["native-examples"]
[[example]]
name = "telltale_client_server"
path = "examples/telltale_client_server.rs"
required-features = ["native-examples"]
[[example]]
name = "three_party_negotiation"
path = "examples/three_party_negotiation.rs"
required-features = ["native-examples"]
[[example]]
name = "topology_integration"
path = "examples/topology_integration.rs"
[[test]]
name = "annotation_tests"
path = "tests/annotation_tests.rs"
[[test]]
name = "authority_compile_fail"
path = "tests/authority_compile_fail.rs"
[[test]]
name = "authority_control_flow_corpus"
path = "tests/authority_control_flow_corpus.rs"
[[test]]
name = "choreo_fmt_cli_tests"
path = "tests/choreo_fmt_cli_tests.rs"
[[test]]
name = "codegen_tests"
path = "tests/codegen_tests.rs"
[[test]]
name = "comprehensive_edge_cases"
path = "tests/comprehensive_edge_cases.rs"
[[test]]
name = "dynamic_role_tests"
path = "tests/dynamic_role_tests.rs"
[[test]]
name = "effects_edge_cases"
path = "tests/effects_edge_cases.rs"
[[test]]
name = "effects_tests"
path = "tests/effects_tests.rs"
[[test]]
name = "extension_integration"
path = "tests/extension_integration.rs"
[[test]]
name = "extensive_parser_tests"
path = "tests/extensive_parser_tests.rs"
[[test]]
name = "generated_topology_public_path"
path = "tests/generated_topology_public_path.rs"
[[test]]
name = "handler_contracts"
path = "tests/handler_contracts.rs"
[[test]]
name = "handler_integration"
path = "tests/handler_integration.rs"
[[test]]
name = "heap_vectors"
path = "tests/heap_vectors.rs"
[[test]]
name = "in_memory_handler_tests"
path = "tests/in_memory_handler_tests.rs"
[[test]]
name = "integration_pipeline"
path = "tests/integration_pipeline.rs"
[[test]]
name = "integration_tests"
path = "tests/integration_tests.rs"
[[test]]
name = "middleware_semantic_hardening"
path = "tests/middleware_semantic_hardening.rs"
[[test]]
name = "namespace_tests"
path = "tests/namespace_tests.rs"
[[test]]
name = "ndet_collections_guard"
path = "tests/ndet_collections_guard.rs"
[[test]]
name = "parser_tests"
path = "tests/parser_tests.rs"
[[test]]
name = "projection_patterns"
path = "tests/projection_patterns.rs"
[[test]]
name = "projection_tests"
path = "tests/projection_tests.rs"
[[test]]
name = "proptest_analysis"
path = "tests/proptest_analysis.rs"
[[test]]
name = "proptest_parser_rt"
path = "tests/proptest_parser_rt.rs"
[[test]]
name = "proptest_proj_simple"
path = "tests/proptest_proj_simple.rs"
[[test]]
name = "proptest_projection"
path = "tests/proptest_projection.rs"
[[test]]
name = "recording_handler_tests"
path = "tests/recording_handler_tests.rs"
[[test]]
name = "runtime_substrate_contracts"
path = "tests/runtime_substrate_contracts.rs"
[[test]]
name = "simulation_tests"
path = "tests/simulation_tests.rs"
[[test]]
name = "source_doc_snippets"
path = "tests/source_doc_snippets.rs"
[[test]]
name = "telltale_handler_tests"
path = "tests/telltale_handler_tests.rs"
[[test]]
name = "transport_contracts"
path = "tests/transport_contracts.rs"
[[test]]
name = "wasm_compat"
path = "tests/wasm_compat.rs"
[[test]]
name = "wasm_integration"
path = "tests/wasm_integration.rs"
[[bench]]
name = "choreography_bench"
path = "benches/choreography_bench.rs"
harness = false
[[bench]]
name = "enhanced_features"
path = "benches/enhanced_features.rs"
harness = false
[[bench]]
name = "hot_paths"
path = "benches/hot_paths.rs"
harness = false
[[bench]]
name = "telltale_handler_bench"
path = "benches/telltale_handler_bench.rs"
harness = false
[dependencies.anyhow]
version = "1.0"
[dependencies.async-recursion]
version = "1.0"
[dependencies.async-trait]
version = "0.1"
[dependencies.base64]
version = "0.21"
[dependencies.bincode]
version = "1.3"
[dependencies.cfg-if]
version = "1.0"
[dependencies.futures]
version = "0.3"
[dependencies.hex]
version = "0.4"
[dependencies.parking_lot]
version = "0.12"
[dependencies.pest]
version = "2.7"
[dependencies.pest_derive]
version = "2.7"
[dependencies.proc-macro2]
version = "1.0"
[dependencies.quote]
version = "1.0"
[dependencies.rand]
version = "0.8"
optional = true
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.syn]
version = "2.0"
features = [
"full",
"extra-traits",
]
[dependencies.telltale]
version = "17.0.0"
[dependencies.telltale-language]
version = "17.0.0"
[dependencies.telltale-macros]
version = "17.0.0"
[dependencies.telltale-theory]
version = "17.0.0"
[dependencies.telltale-types]
version = "17.0.0"
[dependencies.thiserror]
version = "1.0"
[dependencies.time]
version = "0.3"
features = ["serde"]
[dependencies.toml]
version = "0.8"
[dependencies.tracing]
version = "0.1"
[dependencies.uuid]
version = "1.6"
features = [
"v4",
"serde",
"js",
]
[dev-dependencies.tempfile]
version = "3.2"
[dev-dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.tokio]
version = "1.35"
features = [
"macros",
"rt",
"rt-multi-thread",
"sync",
"time",
"net",
"io-util",
]
default-features = false
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.criterion]
version = "0.5"
features = ["html_reports"]
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.proptest]
version = "1.4"
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.tokio]
version = "1.35"
features = [
"macros",
"rt",
"rt-multi-thread",
"sync",
"time",
"net",
"io-util",
"macros",
"rt",
"rt-multi-thread",
"sync",
"time",
"net",
"io-util",
]
default-features = false
[target.'cfg(target_arch = "wasm32")'.dependencies.getrandom]
version = "0.2"
features = ["js"]
[target.'cfg(target_arch = "wasm32")'.dependencies.wasm-bindgen]
version = "0.2"
[target.'cfg(target_arch = "wasm32")'.dependencies.wasm-bindgen-futures]
version = "0.4"
[target.'cfg(target_arch = "wasm32")'.dependencies.wasm-timer]
version = "0.2"
[target.'cfg(target_arch = "wasm32")'.dev-dependencies.wasm-bindgen-test]
version = "0.3"