[profile.dev] incremental = true opt-level = 0 debug = true [profile.dev.package."*"] opt-level = 1 debug = false [workspace] resolver = "2" exclude = ["crates/tiptap/vendor/mdast_util_to_markdown"] members = [ "apps/api", "apps/cli", "apps/desktop/src-tauri", "crates/*", "plugins/*", ] [workspace.dependencies] anlg-aec = { path = "crates/aec", package = "aec" } anlg-afconvert = { path = "crates/afconvert", package = "afconvert" } anlg-agent-access = { path = "crates/agent-access", package = "agent-access" } anlg-agent-core = { path = "crates/agent-core", package = "agent-core" } anlg-am = { path = "crates/am", package = "am" } anlg-analytics = { path = "crates/analytics", package = "analytics" } anlg-api-auth = { path = "crates/api-auth", package = "api-auth" } anlg-api-calendar = { path = "crates/api-calendar", package = "api-calendar" } anlg-api-client = { path = "crates/api-client", package = "api-client" } anlg-api-cloud = { path = "crates/api-cloud", package = "api-cloud" } anlg-api-crm = { path = "crates/api-crm", package = "api-crm" } anlg-api-env = { path = "crates/api-env", package = "api-env" } anlg-api-error = { path = "crates/api-error", package = "api-error" } anlg-api-mail = { path = "crates/api-mail", package = "api-mail" } anlg-api-meeting-import = { path = "crates/api-meeting-import", package = "api-meeting-import" } anlg-api-messenger = { path = "crates/api-messenger", package = "api-messenger" } anlg-api-nango = { path = "crates/api-nango", package = "api-nango" } anlg-api-notion = { path = "crates/api-notion", package = "api-notion" } anlg-api-pyannote = { path = "crates/api-pyannote", package = "api-pyannote" } anlg-api-research = { path = "crates/api-research", package = "api-research" } anlg-api-subscription = { path = "crates/api-subscription", package = "api-subscription" } anlg-api-sync = { path = "crates/api-sync", package = "api-sync" } anlg-api-ticket = { path = "crates/api-ticket", package = "api-ticket" } anlg-api-zoom = { path = "crates/api-zoom", package = "api-zoom" } anlg-apple-calendar = { path = "crates/apple-calendar", package = "apple-calendar" } anlg-apple-todo = { path = "crates/apple-todo", package = "apple-todo" } anlg-askama-utils = { path = "crates/askama-utils", package = "askama-utils" } anlg-attachment-sync-core = { path = "crates/attachment-sync-core", package = "attachment-sync-core" } anlg-audacity = { path = "crates/audacity", package = "audacity" } anlg-audio = { path = "crates/audio", package = "audio" } anlg-audio-actual = { path = "crates/audio-actual", package = "audio-actual" } anlg-audio-chunking = { path = "crates/audio-chunking", package = "audio-chunking" } anlg-audio-device = { path = "crates/audio-device", package = "audio-device" } anlg-audio-interface = { path = "crates/audio-interface", package = "audio-interface" } anlg-audio-mime = { path = "crates/audio-mime", package = "audio-mime" } anlg-audio-mock = { path = "crates/audio-mock", package = "audio-mock" } anlg-audio-norm = { path = "crates/audio-norm", package = "audio-norm" } anlg-audio-snapshot = { path = "crates/audio-snapshot", package = "audio-snapshot" } anlg-audio-sync = { path = "crates/audio-sync", package = "audio-sync" } anlg-audio-utils = { path = "crates/audio-utils", package = "audio-utils" } anlg-buffer = { path = "crates/buffer", package = "buffer" } anlg-bundle = { path = "crates/bundle", package = "bundle" } anlg-calendar = { path = "crates/calendar", package = "calendar" } anlg-calendar-interface = { path = "crates/calendar-interface", package = "calendar-interface" } anlg-claude = { path = "crates/claude", package = "claude" } anlg-cli-process = { path = "crates/cli-process", package = "cli-process" } anlg-cloudsync = { path = "crates/cloudsync", package = "cloudsync" } anlg-codex = { path = "crates/codex", package = "codex" } anlg-data = { path = "crates/data", package = "data" } anlg-db-app = { path = "crates/db-app", package = "db-app" } anlg-db-change = { path = "crates/db-change", package = "db-change" } anlg-db-core = { path = "crates/db-core", package = "db-core" } anlg-db-execute = { path = "crates/db-execute", package = "db-execute" } anlg-db-migrate = { path = "crates/db-migrate", package = "db-migrate" } anlg-db-reactive = { path = "crates/db-reactive", package = "db-reactive" } anlg-db-sync = { path = "crates/db-sync", package = "db-sync" } anlg-detect = { path = "crates/detect", package = "detect" } anlg-device-monitor = { path = "crates/device-monitor", package = "device-monitor" } anlg-dictation-ui-macos = { path = "crates/dictation-ui-macos", package = "dictation-ui-macos" } anlg-docs = { path = "crates/docs", package = "docs" } anlg-download-interface = { path = "crates/download-interface", package = "download-interface" } anlg-e2ee = { path = "crates/e2ee", package = "e2ee" } anlg-embedding = { path = "crates/embedding", package = "embedding" } anlg-exa = { path = "crates/exa", package = "exa" } anlg-export-core = { path = "crates/export-core", package = "export-core" } anlg-file = { path = "crates/file", package = "file" } anlg-frontmatter = { path = "crates/frontmatter", package = "frontmatter" } anlg-fs-format = { path = "crates/fs-format", package = "fs-format" } anlg-fs-sync-core = { path = "crates/fs-sync-core", package = "fs-sync-core" } anlg-gbnf = { path = "crates/gbnf", package = "gbnf" } anlg-gguf = { path = "crates/gguf", package = "gguf" } anlg-github-issues = { path = "crates/github-issues", package = "github-issues" } anlg-google-calendar = { path = "crates/google-calendar", package = "google-calendar" } anlg-google-mail = { path = "crates/google-mail", package = "google-mail" } anlg-hooks = { path = "crates/hooks", package = "hooks" } anlg-host = { path = "crates/host", package = "host" } anlg-http = { path = "crates/http", package = "anlg-http-utils" } anlg-intercept = { path = "crates/intercept", package = "intercept" } anlg-jina = { path = "crates/jina", package = "jina" } anlg-language = { path = "crates/language", package = "language" } anlg-linear = { path = "crates/linear", package = "linear" } anlg-listener-core = { path = "crates/listener-core", package = "listener-core" } anlg-listener2-core = { path = "crates/listener2-core", package = "listener2-core" } anlg-llm-proxy = { path = "crates/llm-proxy", package = "llm-proxy" } anlg-lmstudio = { path = "crates/lmstudio", package = "lmstudio" } anlg-local-llm-core = { path = "crates/local-llm-core", package = "local-llm-core" } anlg-local-model = { path = "crates/local-model", package = "local-model" } anlg-local-stt-core = { path = "crates/local-stt-core", package = "local-stt-core" } anlg-loops = { path = "crates/loops", package = "loops" } anlg-mcp = { path = "crates/mcp", package = "mcp" } anlg-meeting-capture = { path = "crates/meeting-capture", package = "meeting-capture" } anlg-meeting-import = { path = "crates/meeting-import", package = "meeting-import" } anlg-model-downloader = { path = "crates/model-downloader", package = "model-downloader" } anlg-model-manager = { path = "crates/model-manager", package = "model-manager" } anlg-mp3 = { path = "crates/mp3", package = "mp3" } anlg-nango = { path = "crates/nango", package = "nango" } anlg-notification = { path = "crates/notification", package = "notification" } anlg-notification-interface = { path = "crates/notification-interface", package = "notification-interface" } anlg-observability = { path = "crates/observability", package = "observability" } anlg-onnx = { path = "crates/onnx", package = "onnx" } anlg-opencode = { path = "crates/opencode", package = "opencode" } anlg-openrouter = { path = "crates/openrouter", package = "openrouter" } anlg-outlook-calendar = { path = "crates/outlook-calendar", package = "outlook-calendar" } anlg-overlay-kit = { path = "crates/overlay-kit", package = "overlay-kit" } anlg-pyannote-cloud = { path = "crates/pyannote-cloud", package = "pyannote-cloud" } anlg-pyannote-local = { path = "crates/pyannote-local", package = "pyannote-local" } anlg-resampler = { path = "crates/resampler", package = "resampler" } anlg-s3 = { path = "crates/s3", package = "s3" } anlg-session-ingest = { path = "crates/session-ingest", package = "session-ingest" } anlg-shortcut-macos = { path = "crates/shortcut-macos", package = "shortcut-macos" } anlg-slack-web = { path = "crates/slack-web", package = "slack-web" } anlg-storage = { path = "crates/storage", package = "storage" } anlg-summary = { path = "crates/summary", package = "summary" } anlg-supabase-auth = { path = "crates/supabase-auth", package = "supabase-auth" } anlg-supabase-storage = { path = "crates/supabase-storage", package = "supabase-storage" } anlg-tcc = { path = "crates/tcc", package = "tcc" } anlg-template-app = { path = "crates/template-app", package = "template-app" } anlg-template-app-legacy = { path = "crates/template-app-legacy", package = "template-app-legacy" } anlg-template-eval = { path = "crates/template-eval", package = "template-eval" } anlg-ticket-interface = { path = "crates/ticket-interface", package = "ticket-interface" } anlg-tiptap = { path = "crates/tiptap", package = "tiptap" } anlg-transcribe-core = { path = "crates/transcribe-core", package = "transcribe-core" } anlg-transcribe-proxy = { path = "crates/transcribe-proxy", package = "transcribe-proxy" } anlg-transcribe-soniqo = { path = "crates/transcribe-soniqo", package = "transcribe-soniqo" } anlg-transcribe-speechanalyzer = { path = "crates/transcribe-speechanalyzer", package = "transcribe-speechanalyzer" } anlg-transcribe-whisper-local = { path = "crates/transcribe-whisper-local", package = "transcribe-whisper-local" } anlg-transcript = { path = "crates/transcript", package = "transcript" } anlg-transcription-core = { path = "crates/transcription-core", package = "transcription-core" } anlg-user-error = { path = "crates/user-error", package = "user-error" } anlg-vad = { path = "crates/vad", package = "vad" } anlg-vad-masking = { path = "crates/vad-masking", package = "vad-masking" } anlg-voiceprint = { path = "crates/voiceprint", package = "voiceprint" } anlg-whisper = { path = "crates/whisper", package = "whisper" } anlg-whisper-local = { path = "crates/whisper-local", package = "whisper-local" } anlg-whisper-local-model = { path = "crates/whisper-local-model", package = "whisper-local-model" } anlg-ws-client = { path = "crates/ws-client", package = "ws-client" } anlg-ws-utils = { path = "crates/ws-utils", package = "ws-utils" } anlg-zoom = { path = "crates/zoom", package = "zoom" } keyring = "4.1.4" posthog-rs = "0.5" progenitor-client = "0.13" openai-transcription = { path = "crates/openai-transcription", package = "openai-transcription" } owhisper-client = { path = "crates/owhisper-client", package = "owhisper-client" } owhisper-interface = { path = "crates/owhisper-interface", package = "owhisper-interface" } soniox = { path = "crates/soniox", package = "soniox" } ashpd = { version = "0.13.13", default-features = false } tauri = "2.11.5" tauri-build = "2.6.3" tauri-plugin = "2.5" tauri-plugin-autostart = "2.5" tauri-plugin-clipboard-manager = "2.3" tauri-plugin-deep-link = "2.4" tauri-plugin-dialog = "2.7" tauri-plugin-global-shortcut = "2.3.2" tauri-plugin-http = { version = "2.5", features = ["unsafe-headers"] } tauri-plugin-opener = "2.5" tauri-plugin-os = "2.3" tauri-plugin-prevent-default = "4" tauri-plugin-process = "2.3" tauri-plugin-sentry = "0.5" tauri-plugin-shell = "2.3" tauri-plugin-single-instance = "2.4" tauri-plugin-store = "2.4.3" tauri-plugin-updater = "2.10" tauri-plugin-window-state = "2.4" tauri-plugin-agent = { path = "plugins/agent" } tauri-plugin-analytics = { path = "plugins/analytics" } tauri-plugin-attachment-sync = { path = "plugins/attachment-sync" } tauri-plugin-audio-priority = { path = "plugins/audio-priority" } tauri-plugin-auth = { path = "plugins/auth" } tauri-plugin-bedrock = { path = "plugins/bedrock" } tauri-plugin-calendar = { path = "plugins/calendar" } tauri-plugin-db = { path = "plugins/db" } tauri-plugin-deeplink2 = { path = "plugins/deeplink2" } tauri-plugin-detect = { path = "plugins/detect" } tauri-plugin-dictation = { path = "plugins/dictation" } tauri-plugin-dock = { path = "plugins/dock" } tauri-plugin-export = { path = "plugins/export" } tauri-plugin-fs-sync = { path = "plugins/fs-sync" } tauri-plugin-fs2 = { path = "plugins/fs2" } tauri-plugin-hooks = { path = "plugins/hooks" } tauri-plugin-icon = { path = "plugins/icon" } tauri-plugin-importer = { path = "plugins/importer" } tauri-plugin-js = { path = "plugins/js" } tauri-plugin-local-api = { path = "plugins/local-api" } tauri-plugin-local-auth = { path = "plugins/local-auth" } tauri-plugin-local-llm = { path = "plugins/local-llm" } tauri-plugin-local-stt = { path = "plugins/local-stt" } tauri-plugin-mcp = { path = "plugins/mcp" } tauri-plugin-messenger = { path = "plugins/messenger" } tauri-plugin-misc = { path = "plugins/misc" } tauri-plugin-notification = { path = "plugins/notification" } tauri-plugin-notify = { path = "plugins/notify" } tauri-plugin-opener2 = { path = "plugins/opener2" } tauri-plugin-overlay = { path = "plugins/overlay" } tauri-plugin-path2 = { path = "plugins/path2" } tauri-plugin-permissions = { path = "plugins/permissions" } tauri-plugin-relay = { path = "plugins/relay" } tauri-plugin-session = { path = "plugins/session" } tauri-plugin-settings = { path = "plugins/settings" } tauri-plugin-sfx = { path = "plugins/sfx" } tauri-plugin-shortcut = { path = "plugins/shortcut" } tauri-plugin-sidecar2 = { path = "plugins/sidecar2" } tauri-plugin-store2 = { path = "plugins/store2" } tauri-plugin-tantivy = { path = "plugins/tantivy" } tauri-plugin-template = { path = "plugins/template" } tauri-plugin-todo = { path = "plugins/todo" } tauri-plugin-tracing = { path = "plugins/tracing" } tauri-plugin-transcription = { path = "plugins/transcription" } tauri-plugin-tray = { path = "plugins/tray", package = "tauri-plugin-anlg-tray" } tauri-plugin-updater2 = { path = "plugins/updater2" } tauri-plugin-windows = { path = "plugins/windows" } anlg-supervisor = { path = "crates/supervisor", package = "supervisor" } async-stream = "0.3.6" futures-channel = "0.3.31" futures-core = "0.3.31" futures-util = "0.3.31" pico-args = "0.5" pin-project = "1" ractor = "0.15.10" rayon = "1.11" reqwest = "0.13" reqwest-middleware = "0.5" reqwest-tracing = "0.6" tokio = "1" tokio-stream = "0.1.17" tokio-tungstenite = "0.29" tokio-util = "0.7.15" yrs = "0.26" camino = "1" anyhow = "1" approx = "0.5.1" backon = "1.6.0" base64 = "0.22.1" bytes = "1.11" clap = "4" codes-iso-639 = "0.1.5" dirs = "6.0.0" dotenvy = "0.15.7" envy = "0.4" governor = "0.10.4" http = "1" image = { version = "0.25.10", default-features = false, features = ["webp"] } indexmap = "2" indoc = "2" isolang = "2.4" itertools = "0.14.0" jsonschema = "0.46.0" lazy_static = "1.5.0" libloading = "0.8" open = "5" regex = "1.12" rpassword = "7.5.4" schemars = "1" semver = "1" serde = "1" serde_bytes = "0.11.15" serde_html_form = "0.4" serde_json = "1" serde_qs = "1" serde_yaml = "0.9" shellexpand = "3" similar = "2.7.0" strum = "0.28" tempfile = "3" thiserror = "2" toml = "0.8" unicode-normalization = "0.1.25" unicode-width = "0.2" url = "2" urlencoding = "2.1" uuid = "1" criterion = "0.8" insta = "1.46" quickcheck = "1" quickcheck_macros = "1" serial_test = "3" testcontainers-modules = "0.12.1" wiremock = "0.6" axum = "0.8" axum-extra = "0.12" tower = "0.5" tower-http = "0.6" utoipa = { version = "5", features = ["axum_extras"] } chrono = "0.4" chrono-tz = "0.10" async-stripe = { version = "1.0.0-rc.0" } async-stripe-billing = { version = "1.0.0-rc.1", default-features = false } async-stripe-core = { version = "1.0.0-rc.1", default-features = false } gbnf-validator = { git = "https://github.com/fastrepl/gbnf-validator", rev = "3dec055" } jsonwebtoken = { version = "10", features = ["rust_crypto"] } sentry = "=0.42.0" vergen-gix = "9" askama = "0.15" askama_parser = "0.15" markdown = "1" # Vendored 0.0.2 with byte-indexed Unicode escaping fixed; upstream still uses chars().nth(byte_offset). mdast_util_to_markdown = { path = "crates/tiptap/vendor/mdast_util_to_markdown" } minijinja = "2.7.0" minijinja-contrib = "2.7.0" env_logger = "0.11.8" log = "0.4" opentelemetry = "0.32" opentelemetry-otlp = { version = "0.32", features = ["grpc-tonic", "trace"] } opentelemetry_sdk = "0.32" tracing = "0.1" tracing-opentelemetry = "0.33" tracing-subscriber = "0.3" apalis = "1.0.0-rc.7" apalis-cron = "1.0.0-rc.7" specta = "2.0.0-rc.22" specta-typescript = "0.0.9" tauri-specta = "2.0.0-rc.21" cidre = { version = "0.15", default-features = false, features = ["app", "async", "av", "ax", "blocks", "cm", "core_audio", "dispatch", "io_kit", "io_pm", "macos_15_0"] } cpal = "0.17" dasp = { version = "0.11.0", features = ["interpolate", "interpolate-linear"] } earshot = "0.1.0" hound = "3.5.1" htmd = "0.5.0" macos-accessibility-client = "0.0.1" mp3lame-encoder = "0.2.2" realfft = "3.5.0" ringbuf = "0.4.8" rodio = { version = "0.22", features = ["tracing"] } vorbis_rs = "0.5.5" deepgram = { version = "0.7", default-features = false } block2 = "0.6" dispatch2 = "0.3" objc2 = "0.6" objc2-app-kit = "0.3.2" objc2-application-services = "0.3.2" objc2-av-foundation = "0.3.2" objc2-contacts = "0.3.2" objc2-core-foundation = "0.3.2" objc2-core-graphics = "0.3.2" objc2-core-location = "0.3.2" objc2-event-kit = "0.3.2" objc2-foundation = "0.3.2" objc2-local-authentication = "0.3.2" objc2-quartz-core = "0.3.2" objc2-security = "0.3.2" objc2-user-notifications = "0.3.2" security-framework = "3.7" hmac = "0.13" same-file = "1.0.6" sha2 = "0.11" whatlang = "0.18.0" whichlang = "0.1" swift-rs = { git = "https://github.com/Brendonovich/swift-rs", rev = "41a1605" } wasapi = "0.23.0" windows = "0.62.2" windows-core = "0.62.2" xcap = "0.9.3" rmcp = "3.2" rustls = { version = "0.23", default-features = false } sqlx = { version = "=0.9.0-alpha.1", default-features = false } sys-locale = "0.3.2" sysinfo = "0.38"