[workspace]
members = [
  "lib-dispatch",
  "lib-log",
  "flowy-core",
  "dart-ffi",
  "flowy-user",
  "flowy-user-pub",
  "event-integration-test",
  "flowy-sqlite",
  "flowy-folder",
  "flowy-folder-pub",
  "flowy-notification",
  "flowy-document",
  "flowy-document-pub",
  "flowy-error",
  "flowy-database2",
  "flowy-database-pub",
  "flowy-server",
  "flowy-server-pub",
  "flowy-storage",
  "collab-integrate",
  "flowy-date",
  "flowy-search",
  "lib-infra",
  "build-tool/flowy-ast",
  "build-tool/flowy-codegen",
  "build-tool/flowy-derive",
  "flowy-search-pub",
  "flowy-ai",
  "flowy-ai-pub",
  "flowy-storage-pub",
  "flowy-sqlite-vec",
]

resolver = "2"

[workspace.dependencies]
lib-dispatch = { path = "lib-dispatch" }
lib-log = { path = "lib-log" }
lib-infra = { path = "lib-infra" }
flowy-ast = { path = "build-tool/flowy-ast" }
flowy-codegen = { path = "build-tool/flowy-codegen" }
flowy-derive = { path = "build-tool/flowy-derive" }
flowy-core = { path = "flowy-core" }
dart-ffi = { path = "dart-ffi" }
flowy-user = { path = "flowy-user" }
flowy-user-pub = { path = "flowy-user-pub" }
flowy-sqlite = { path = "flowy-sqlite" }
flowy-folder = { path = "flowy-folder" }
flowy-folder-pub = { path = "flowy-folder-pub" }
flowy-notification = { path = "flowy-notification" }
flowy-document = { path = "flowy-document" }
flowy-document-pub = { path = "flowy-document-pub" }
flowy-error = { path = "flowy-error" }
flowy-database2 = { path = "flowy-database2" }
flowy-database-pub = { path = "flowy-database-pub" }
flowy-server = { path = "flowy-server" }
flowy-server-pub = { path = "flowy-server-pub" }
flowy-storage = { path = "flowy-storage" }
flowy-storage-pub = { path = "flowy-storage-pub" }
flowy-search = { path = "flowy-search" }
flowy-search-pub = { path = "flowy-search-pub" }
collab-integrate = { path = "collab-integrate" }
flowy-date = { path = "flowy-date" }
flowy-ai = { path = "flowy-ai" }
flowy-ai-pub = { path = "flowy-ai-pub" }
anyhow = "1.0"
arc-swap = "1.7"
tracing = "0.1.40"
bytes = "1.5.0"
serde_json = "1.0.108"
serde = "1.0.194"
protobuf = { version = "2.28.0" }
diesel = { version = "2.1.0", features = [
  "sqlite",
  "chrono",
  "r2d2",
  "serde_json",
] }
diesel_derives = { version = "2.1.0", features = ["sqlite", "r2d2"] }
uuid = { version = "1.5.0", features = ["serde", "v4", "v5"] }
serde_repr = "0.1"
futures = "0.3.31"
tokio = "1.38.0"
tokio-stream = "0.1.17"
ollama-rs = { version = "0.3.0" }
async-trait = "0.1.81"
chrono = { version = "0.4.31", default-features = false, features = ["clock"] }
collab = { version = "0.2" }
collab-entity = { version = "0.2" }
collab-folder = { version = "0.2" }
collab-document = { version = "0.2" }
collab-database = { version = "0.2" }
collab-plugins = { version = "0.2" }
collab-user = { version = "0.2" }
collab-importer = { version = "0.1" }
yrs = "0.21.0"
validator = { version = "0.18", features = ["derive"] }
tokio-util = "0.7.11"
zip = "2.2.0"
dashmap = "6.0.1"
derive_builder = "0.20.2"
tantivy = { version = "0.24.1" }
num_enum = "0.7.3"
flowy-sqlite-vec = { path = "flowy-sqlite-vec" }

# Please using the following command to update the revision id
# Current directory: frontend
# Run the script.add_workspace_members:
# scripts/tool/update_client_api_rev.sh  new_rev_id
# ⚠️⚠️⚠️️
client-api = { git = "https://github.com/AppFlowy-IO/AppFlowy-Cloud", rev = "592f644" }
client-api-entity = { git = "https://github.com/AppFlowy-IO/AppFlowy-Cloud", rev = "592f644" }
workspace-template = { git = "https://github.com/AppFlowy-IO/AppFlowy-Cloud", rev = "592f644" }

[profile.dev]
opt-level = 0
lto = false
codegen-units = 16
debug = true

[profile.release]
lto = true
opt-level = 3
codegen-units = 1

[profile.profiling]
inherits = "release"
debug = true
codegen-units = 16
lto = false

#strip = "debuginfo"
incremental = true

[patch.crates-io]
# We're using a specific commit here because rust-rocksdb doesn't publish the latest version that includes the memory alignment fix.
# For more details, see https://github.com/rust-rocksdb/rust-rocksdb/pull/868
rocksdb = { git = "https://github.com/rust-rocksdb/rust-rocksdb", rev = "1710120e4549e04ba3baa6a1ee5a5a801fa45a72" }
# Please use the following script to update collab.
# Working directory: frontend
#
# To update the commit ID, run:
# scripts/tool/update_collab_rev.sh new_rev_id
#
# To switch to the local path, run:
# scripts/tool/update_collab_source.sh
# ⚠️⚠️⚠️️
collab = { version = "0.2", git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "4dfccef" }
collab-entity = { version = "0.2", git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "4dfccef" }
collab-folder = { version = "0.2", git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "4dfccef" }
collab-document = { version = "0.2", git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "4dfccef" }
collab-database = { version = "0.2", git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "4dfccef" }
collab-plugins = { version = "0.2", git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "4dfccef" }
collab-user = { version = "0.2", git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "4dfccef" }
collab-importer = { version = "0.1", git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "4dfccef" }

langchain-rust = { version = "4.6.0", git = "https://github.com/appflowy/langchain-rust", branch = "af" }
