[package] name = "windmill-api" version.workspace = true authors.workspace = true edition.workspace = true [lib] name = "windmill_api" path = "src/lib.rs" [features] default = [] private = ["windmill-audit/private", "windmill-common/private", "windmill-api-auth/private", "windmill-store/private", "windmill-api-users/private", "windmill-api-workspaces/private", "windmill-api-groups/private", "windmill-api-configs/private", "windmill-api-settings/private", "windmill-api-agent-workers?/private", "windmill-trigger-kafka?/private", "windmill-trigger-postgres?/private", "windmill-trigger-mqtt?/private", "windmill-trigger-websocket?/private", "windmill-trigger-nats?/private", "windmill-trigger-sqs?/private", "windmill-trigger-gcp?/private", "windmill-trigger-email?/private", "windmill-git-sync/private", "windmill-autoscaling?/private"] enterprise = ["windmill-queue/enterprise", "windmill-audit/enterprise", "windmill-git-sync/enterprise", "windmill-common/enterprise", "windmill-worker?/enterprise", "windmill-api-auth/enterprise", "windmill-store/enterprise", "windmill-api-jobs/enterprise", "windmill-api-scripts/enterprise", "windmill-api-flows/enterprise", "windmill-api-users/enterprise", "windmill-api-workspaces/enterprise", "windmill-api-groups/enterprise", "windmill-api-configs/enterprise", "windmill-api-settings/enterprise", "windmill-api-schedule/enterprise", "windmill-api-agent-workers?/enterprise", "windmill-trigger/enterprise", "windmill-trigger-kafka?/enterprise", "windmill-trigger-postgres?/enterprise", "windmill-trigger-mqtt?/enterprise", "windmill-trigger-websocket?/enterprise", "windmill-trigger-email?/enterprise", "windmill-trigger-nats?/enterprise", "windmill-trigger-sqs?/enterprise", "windmill-trigger-gcp?/enterprise", "windmill-trigger-http?/enterprise", "windmill-native-triggers?/enterprise", "dep:windmill-autoscaling", "windmill-autoscaling/enterprise"] stripe = [] run_inline = ["dep:windmill-worker", "windmill-api-configs/run_inline"] agent_worker_server = ["dep:windmill-worker", "dep:windmill-api-agent-workers"] enterprise_saml = ["dep:samael", "dep:libxml"] benchmark = [] embedding = ["windmill-api-embeddings/embedding"] parquet = ["dep:datafusion", "windmill-common/parquet", "windmill-object-store/parquet", "windmill-worker?/parquet", "windmill-api-users/parquet", "windmill-api-settings/parquet", "dep:aws-sigv4", "dep:aws-sdk-config"] prometheus = ["windmill-common/prometheus", "windmill-queue/prometheus", "dep:prometheus", "windmill-worker?/prometheus"] openidconnect = ["dep:openidconnect", "windmill-common/openidconnect", "windmill-store/openidconnect"] tantivy = ["dep:windmill-indexer"] kafka = ["dep:windmill-trigger-kafka", "windmill-store/kafka"] kafka-gssapi = ["kafka", "windmill-trigger-kafka/kafka-gssapi"] nats = ["dep:windmill-trigger-nats", "windmill-store/nats"] websocket = ["dep:windmill-trigger-websocket"] smtp = ["dep:mail-parser", "dep:openssl", "windmill-common/smtp", "dep:windmill-trigger-email"] license = ["dep:rsa", "windmill-api-settings/license"] zip = ["dep:async_zip"] oauth2 = ["dep:windmill-oauth", "windmill-store/oauth2"] http_trigger = ["dep:matchit", "dep:windmill-trigger-http", "windmill-store/http_trigger", "dep:windmill-api-openapi"] static_frontend = ["dep:rust-embed"] postgres_trigger = ["dep:windmill-trigger-postgres", "windmill-store/postgres_trigger"] mqtt_trigger = ["dep:windmill-trigger-mqtt", "windmill-store/mqtt_trigger"] native_trigger = ["dep:windmill-native-triggers", "windmill-native-triggers/native_trigger", "dep:strum", "oauth2"] sqs_trigger = ["dep:windmill-trigger-sqs", "windmill-store/sqs_trigger"] gcp_trigger = ["dep:windmill-trigger-gcp", "windmill-store/gcp_trigger"] cloud = ["windmill-common/cloud", "windmill-api-auth/cloud", "windmill-store/cloud", "windmill-api-workspaces/cloud"] mcp = ["dep:windmill-mcp", "windmill-mcp/server", "windmill-mcp/auth", "windmill-api-auth/mcp", "windmill-store/mcp"] bedrock = ["dep:aws-sdk-bedrock", "dep:aws-sdk-bedrockruntime", "windmill-common/bedrock", "dep:aws-config", "dep:aws-credential-types", "dep:aws-smithy-types"] python = ["windmill-dep-map/python", "dep:windmill-parser-py", "dep:windmill-parser-py-imports", "windmill-api-scripts/python", "windmill-api-configs/python", "windmill-api-agent-workers?/python", "windmill-trigger/python", "windmill-common/python"] no_auth = ["windmill-api-auth/no_auth", "windmill-store/no_auth", "windmill-api-users/no_auth"] quickjs = ["windmill-jseval/quickjs"] [dependencies] windmill-mcp = { workspace = true, optional = true } windmill-api-auth.workspace = true windmill-api-scripts.workspace = true windmill-api-flows.workspace = true windmill-api-users.workspace = true windmill-api-workspaces.workspace = true windmill-api-groups.workspace = true windmill-api-sse.workspace = true windmill-api-jobs.workspace = true windmill-trigger.workspace = true windmill-store.workspace = true windmill-queue.workspace = true windmill-common = { workspace = true, default-features = false } windmill-types.workspace = true windmill-object-store.workspace = true windmill-audit.workspace = true windmill-parser.workspace = true windmill-parser-sql.workspace = true windmill-parser-sql-asset.workspace = true windmill-parser-ts.workspace = true windmill-parser-py = { workspace = true, optional = true } windmill-parser-py-imports = { workspace = true, optional = true } windmill-git-sync.workspace = true windmill-indexer = { workspace = true, optional = true } windmill-autoscaling = { workspace = true, optional = true } windmill-worker = { workspace = true, optional = true } windmill-worker-volumes.workspace = true windmill-dep-map.workspace = true tokio.workspace = true tokio-stream.workspace = true anyhow.workspace = true argon2.workspace = true axum.workspace = true futures.workspace = true git-version.workspace = true tower.workspace = true tower-cookies.workspace = true tower-http.workspace = true hyper.workspace = true itertools.workspace = true reqwest.workspace = true serde.workspace = true sqlx.workspace = true windmill-oauth = { workspace = true, optional = true } tracing.workspace = true sql-builder.workspace = true serde_json.workspace = true chrono.workspace = true chrono-tz.workspace = true hex.workspace = true base64.workspace = true base32.workspace = true serde_urlencoded.workspace = true serde_yml.workspace = true cron.workspace = true mime_guess.workspace = true rust-embed = { workspace = true, optional = true } tracing-subscriber.workspace = true quick_cache.workspace = true rand.workspace = true ed25519-dalek.workspace = true time.workspace = true native-tls.workspace = true tokio-native-tls.workspace = true openssl = { workspace = true, optional = true } mail-parser = { workspace = true, features = ["serde_support"], optional = true } magic-crypt.workspace = true tempfile.workspace = true tokio-util.workspace = true astral-tokio-tar.workspace = true tokio-postgres.workspace = true postgres-native-tls.workspace = true hmac.workspace = true cookie.workspace = true sha2.workspace = true urlencoding.workspace = true lazy_static.workspace = true prometheus = { workspace = true, optional = true } async_zip = { workspace = true, optional = true } regex.workspace = true bytes.workspace = true url.workspace = true samael = { workspace = true, optional = true } libxml = { workspace = true, optional = true } async-recursion.workspace = true rsa = { workspace = true, optional = true} uuid.workspace = true datafusion = { workspace = true, optional = true} openidconnect = { workspace = true, optional = true} jsonwebtoken = { workspace = true } matchit = { workspace = true, optional = true } windmill-trigger-kafka = { workspace = true, optional = true } windmill-trigger-postgres = { workspace = true, optional = true } windmill-trigger-mqtt = { workspace = true, optional = true } windmill-trigger-websocket = { workspace = true, optional = true } windmill-trigger-email = { workspace = true, optional = true } windmill-trigger-nats = { workspace = true, optional = true } windmill-trigger-sqs = { workspace = true, optional = true } windmill-trigger-gcp = { workspace = true, optional = true } windmill-trigger-http = { workspace = true, optional = true } windmill-native-triggers = { workspace = true, optional = true } windmill-alerting.workspace = true windmill-api-agent-workers = { workspace = true, optional = true } windmill-api-assets.workspace = true windmill-api-configs = { workspace = true } windmill-api-debug.workspace = true windmill-api-embeddings.workspace = true windmill-api-flow-conversations.workspace = true windmill-api-inputs.workspace = true windmill-api-npm-proxy.workspace = true windmill-api-openapi = { workspace = true, optional = true } windmill-api-schedule.workspace = true windmill-api-settings = { workspace = true } windmill-api-workers.workspace = true const_format.workspace = true pin-project.workspace = true http.workspace = true indexmap.workspace = true async-stream.workspace = true ulid.workspace = true rustls = { workspace = true } aws-sigv4 = { workspace = true, optional = true } aws-sdk-config = { workspace = true, optional = true } aws-config = { workspace = true, optional = true } aws-credential-types = { workspace = true, optional = true } aws-sdk-bedrock = { workspace = true, optional = true } aws-sdk-bedrockruntime = { workspace = true, optional = true } aws-smithy-types = { workspace = true, optional = true } async-trait.workspace = true eventsource-stream.workspace = true windmill-jseval.workspace = true tar.workspace = true flate2.workspace = true strum = { workspace = true, optional = true } dashmap.workspace = true [build-dependencies]