[package] name = "typedialog-ai" version.workspace = true edition.workspace = true authors.workspace = true repository.workspace = true license.workspace = true description = "AI-powered configuration assistant backend and microservice for TypeDialog" [dependencies] # Internal typedialog-core = { path = "../typedialog-core", features = ["ai_backend"] } # Workspace dependencies (shared with other crates) tokio = { workspace = true } async-trait = { workspace = true } futures = { workspace = true } surrealdb = { workspace = true } serde = { workspace = true } serde_json = { workspace = true } serde_yaml = { workspace = true } toml = { workspace = true } clap = { workspace = true } dialoguer = { workspace = true } colored = { workspace = true } uuid = { workspace = true } chrono = { workspace = true } tracing = { workspace = true } tracing-subscriber = { workspace = true } thiserror = { workspace = true } anyhow = { workspace = true } dirs = { workspace = true } # Web and HTTP dependencies (now aligned with workspace versions) # Code migrated to support workspace versions: # - axum: Upgraded from 0.7 to 0.8.8 (WebSocket Message::Text now uses Utf8Bytes) # - reqwest: Using workspace 0.12 (streaming API compatible) # - tower/tower-http: Aligned with axum 0.8.8 reqwest = { workspace = true, features = ["json", "stream"] } axum = { workspace = true, features = ["ws"] } tower = { workspace = true } tower-http = { workspace = true, features = ["cors", "trace"] } [features] default = ["openai"] openai = [] anthropic = [] ollama = [] all-providers = ["openai", "anthropic", "ollama"] [lib] name = "typedialog_ai" path = "src/lib.rs" [[bin]] name = "typedialog-ai" path = "src/main.rs" [package.metadata.binstall] pkg-url = "{ repo }/releases/download/v{ version }/typedialog-{ target }.tar.gz" bin-dir = "bin/{ bin }" pkg-fmt = "tgz"