[package]
edition = "2021"
rust-version = "1.78"
name = "tensor-wasm-api"
version = "0.3.8"
authors = ["Craton Software Company <security@craton.com.ar>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "HTTP serverless API gateway (axum)."
homepage = "https://github.com/craton-co/craton-tensor-wasm"
documentation = "https://docs.rs/tensor-wasm-api"
readme = "README.md"
keywords = [
"wasm",
"axum",
"gateway",
"serverless",
"runtime",
]
categories = [
"web-programming::http-server",
"wasm",
]
license = "Apache-2.0"
repository = "https://github.com/craton-co/craton-tensor-wasm"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
default = []
kernel-registry-api = ["dep:tensor-wasm-jit"]
[lib]
name = "tensor_wasm_api"
path = "src/lib.rs"
[[test]]
name = "async_invoke_flow"
path = "tests/async_invoke_flow.rs"
[[test]]
name = "audit_log_test"
path = "tests/audit_log_test.rs"
[[test]]
name = "auth"
path = "tests/auth.rs"
[[test]]
name = "config_debug_does_not_leak_key"
path = "tests/config_debug_does_not_leak_key.rs"
[[test]]
name = "error_envelope_does_not_leak_paths"
path = "tests/error_envelope_does_not_leak_paths.rs"
[[test]]
name = "error_envelopes"
path = "tests/error_envelopes.rs"
[[test]]
name = "function_cross_tenant"
path = "tests/function_cross_tenant.rs"
[[test]]
name = "function_name_validation"
path = "tests/function_name_validation.rs"
[[test]]
name = "get_job_cross_tenant"
path = "tests/get_job_cross_tenant.rs"
[[test]]
name = "header_hardening_test"
path = "tests/header_hardening_test.rs"
[[test]]
name = "host_validate_runs_before_trace_layer"
path = "tests/host_validate_runs_before_trace_layer.rs"
[[test]]
name = "host_validate_startup_warn"
path = "tests/host_validate_startup_warn.rs"
[[test]]
name = "host_validate_test"
path = "tests/host_validate_test.rs"
[[test]]
name = "http_integration"
path = "tests/http_integration.rs"
[[test]]
name = "http_metrics_test"
path = "tests/http_metrics_test.rs"
[[test]]
name = "invoke_envelope_shape"
path = "tests/invoke_envelope_shape.rs"
[[test]]
name = "invoke_ignores_body"
path = "tests/invoke_ignores_body.rs"
[[test]]
name = "invoke_stream_real_emit"
path = "tests/invoke_stream_real_emit.rs"
[[test]]
name = "invoke_stream_restored"
path = "tests/invoke_stream_restored.rs"
[[test]]
name = "invoke_with_args"
path = "tests/invoke_with_args.rs"
[[test]]
name = "invoke_with_typed_args"
path = "tests/invoke_with_typed_args.rs"
[[test]]
name = "jobs_active_gauge"
path = "tests/jobs_active_gauge.rs"
[[test]]
name = "kernel_registry_authz"
path = "tests/kernel_registry_authz.rs"
[[test]]
name = "kernel_registry_routes"
path = "tests/kernel_registry_routes.rs"
[[test]]
name = "openai_chat_role_tagging"
path = "tests/openai_chat_role_tagging.rs"
[[test]]
name = "openai_completions_happy"
path = "tests/openai_completions_happy.rs"
[[test]]
name = "openai_completions_streaming"
path = "tests/openai_completions_streaming.rs"
[[test]]
name = "openai_cross_tenant_owner"
path = "tests/openai_cross_tenant_owner.rs"
[[test]]
name = "openai_model_not_found"
path = "tests/openai_model_not_found.rs"
[[test]]
name = "openai_prompt_reaches_guest"
path = "tests/openai_prompt_reaches_guest.rs"
[[test]]
name = "openai_routes_tenant_gating"
path = "tests/openai_routes_tenant_gating.rs"
[[test]]
name = "openai_scaffold_test"
path = "tests/openai_scaffold_test.rs"
[[test]]
name = "openapi_json_yaml_sync"
path = "tests/openapi_json_yaml_sync.rs"
[[test]]
name = "openapi_validation_test"
path = "tests/openapi_validation_test.rs"
[[test]]
name = "oversized_body"
path = "tests/oversized_body.rs"
[[test]]
name = "rate_limit_test"
path = "tests/rate_limit_test.rs"
[[test]]
name = "scoped_tokens_test"
path = "tests/scoped_tokens_test.rs"
[[test]]
name = "snapshot_hmac_config"
path = "tests/snapshot_hmac_config.rs"
[[test]]
name = "snapshot_routes"
path = "tests/snapshot_routes.rs"
[[test]]
name = "streaming_error_and_inflight_regression"
path = "tests/streaming_error_and_inflight_regression.rs"
[[test]]
name = "streaming_invoke_scaffold"
path = "tests/streaming_invoke_scaffold.rs"
[[test]]
name = "tenant_header"
path = "tests/tenant_header.rs"
[[test]]
name = "trace_concurrent_load_test"
path = "tests/trace_concurrent_load_test.rs"
[[test]]
name = "trace_propagation_test"
path = "tests/trace_propagation_test.rs"
[[test]]
name = "trace_sanitization_test"
path = "tests/trace_sanitization_test.rs"
[[test]]
name = "trace_span_does_not_leak_query"
path = "tests/trace_span_does_not_leak_query.rs"
[[test]]
name = "xfcc_trusted_proxy_test"
path = "tests/xfcc_trusted_proxy_test.rs"
[dependencies.anyhow]
version = "1"
[dependencies.axum]
version = "0.7"
features = [
"macros",
"tracing",
]
[dependencies.base64]
version = "0.22"
[dependencies.dashmap]
version = "6"
[dependencies.futures]
version = "0.3"
[dependencies.hyper]
version = "1"
[dependencies.ipnet]
version = "2"
[dependencies.opentelemetry]
version = "0.26"
[dependencies.opentelemetry_sdk]
version = "0.26"
features = ["rt-tokio"]
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.subtle]
version = "2"
[dependencies.tensor-wasm-core]
version = "0.3.8"
[dependencies.tensor-wasm-exec]
version = "0.3.8"
[dependencies.tensor-wasm-jit]
version = "0.3.8"
features = ["kernel-registry"]
optional = true
[dependencies.tensor-wasm-snapshot]
version = "0.3.8"
features = ["signed-snapshots"]
[dependencies.tensor-wasm-wasi-gpu]
version = "0.3.8"
[dependencies.thiserror]
version = "1"
[dependencies.tokio]
version = "1.40"
features = ["full"]
[dependencies.tower]
version = "0.5"
features = ["full"]
[dependencies.tower-http]
version = "0.6"
features = [
"trace",
"timeout",
"cors",
"trace",
"timeout",
"cors",
]
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-opentelemetry]
version = "0.27"
[dependencies.uuid]
version = "1"
features = [
"v4",
"serde",
]
[dependencies.wasmparser]
version = "0.218"
[dev-dependencies.blake3]
version = "1"
[dev-dependencies.http-body-util]
version = "0.1"
[dev-dependencies.temp-env]
version = "0.3"
features = ["async_closure"]
[dev-dependencies.tensor-wasm-jit]
version = "0.3.8"
features = ["kernel-registry"]
[dev-dependencies.tokio]
version = "1.40"
features = [
"full",
"macros",
"rt-multi-thread",
]
[dev-dependencies.tokio-test]
version = "0.4"
[dev-dependencies.tower]
version = "0.5"
features = [
"full",
"util",
]
[dev-dependencies.tracing-subscriber]
version = "0.3"
features = [
"env-filter",
"json",
"fmt",
]
[dev-dependencies.wat]
version = "1"