[package]
edition = "2024"
name = "objectiveai-sdk"
version = "2.0.7"
authors = ["ObjectiveAI <admin@objectiveai.dev>"]
build = "build.rs"
include = [
"src/**/*.rs",
"Cargo.toml",
"build.rs",
"README.md",
"LICENSE*",
"schemas/*.json",
]
publish = true
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "ObjectiveAI SDK, definitions, and utilities"
homepage = "https://objectiveai.dev"
documentation = "https://docs.rs/objectiveai-sdk"
readme = "README.md"
keywords = [
"llm",
"ai",
"swarm",
]
license = "MIT"
repository = "https://github.com/ObjectiveAI/objectiveai"
[features]
cli = [
"filesystem",
"dep:tokio",
]
default = [
"http",
"filesystem",
"env",
"mcp",
"cli",
"viewer",
]
env = []
filesystem = [
"dep:dirs",
"dep:jaq-core",
"dep:jaq-std",
"dep:jaq-json",
"dep:sha2",
"dep:tokio",
"dep:futures",
"dep:mime_guess",
"dep:git2",
"dep:rusqlite",
"dep:regex",
"dep:zip",
]
http = [
"dep:reqwest",
"dep:reqwest-eventsource",
"dep:eventsource-stream",
"dep:futures",
]
mcp = [
"dep:reqwest",
"dep:backoff",
"dep:futures-util",
"dep:tokio",
"dep:tokio-util",
]
viewer = ["dep:tokio"]
[lib]
name = "objectiveai_sdk"
path = "src/lib.rs"
[dependencies.anyhow]
version = "1.0.102"
[dependencies.arbitrary]
version = "1.4.2"
features = ["derive"]
[dependencies.backoff]
version = "0.4.0"
features = ["tokio"]
optional = true
[dependencies.base62]
version = "2.2.4"
[dependencies.base64]
version = "0.22.1"
[dependencies.chrono]
version = "=0.4.39"
features = ["serde"]
[dependencies.dirs]
version = "6.0.0"
optional = true
[dependencies.eventsource-stream]
version = "0.2.3"
optional = true
[dependencies.futures]
version = "0.3.32"
optional = true
[dependencies.futures-util]
version = "0.3.32"
optional = true
[dependencies.git2]
version = "0.20.4"
features = ["vendored-libgit2"]
optional = true
default-features = false
[dependencies.indexmap]
version = "2.13.0"
features = ["serde"]
[dependencies.jaq-core]
version = "2.2.1"
optional = true
[dependencies.jaq-json]
version = "1.1.3"
features = ["serde_json"]
optional = true
[dependencies.jaq-std]
version = "2.1.2"
optional = true
[dependencies.jmespath]
version = "0.5.0"
[dependencies.json-escape]
version = "0.3.1"
[dependencies.mime2ext]
version = "0.1.54"
[dependencies.mime_guess]
version = "2.0.5"
optional = true
[dependencies.objectiveai-sdk-macros]
version = "2.0.7"
[dependencies.rand]
version = "0.9.2"
[dependencies.regex]
version = "1.12.3"
optional = true
[dependencies.reqwest]
version = "0.12.28"
features = [
"charset",
"http2",
"rustls-tls",
"json",
"stream",
]
optional = true
default-features = false
[dependencies.reqwest-eventsource]
version = "0.6.0"
optional = true
[dependencies.rusqlite]
version = "0.31.0"
features = ["bundled"]
optional = true
[dependencies.rust_decimal]
version = "1.40.0"
features = [
"serde-float",
"macros",
]
[dependencies.schemars]
version = "1.2.1"
features = [
"indexmap2",
"chrono04",
"uuid1",
]
[dependencies.serde]
version = "1.0.228"
features = ["derive"]
[dependencies.serde_json]
version = "1.0.149"
features = ["preserve_order"]
[dependencies.serde_path_to_error]
version = "0.1.20"
[dependencies.sha2]
version = "0.10.9"
optional = true
[dependencies.starlark]
version = "0.13.0"
[dependencies.thiserror]
version = "2.0.18"
[dependencies.tokio]
version = "1.51.1"
features = [
"fs",
"time",
"sync",
"rt",
"io-util",
"macros",
"process",
]
optional = true
[dependencies.tokio-util]
version = "0.7.18"
features = ["io"]
optional = true
[dependencies.twox-hash]
version = "2.1.2"
features = [
"xxhash3_128",
"alloc",
]
default-features = false
[dependencies.uuid]
version = "1.22.0"
features = [
"v4",
"serde",
]
[dependencies.zip]
version = "2.4.0"
features = ["deflate"]
optional = true
default-features = false
[dev-dependencies.proc-macro2]
version = "1.0.106"
features = ["span-locations"]
[dev-dependencies.quote]
version = "1.0.45"
[dev-dependencies.syn]
version = "2.0.117"
features = [
"full",
"visit",
]
[dev-dependencies.walkdir]
version = "2.5.0"
[dev-dependencies.wiremock]
version = "0.6"
[target.'cfg(target_arch = "wasm32")'.dependencies.getrandom]
version = "0.3"
features = ["wasm_js"]
[target.'cfg(target_arch = "wasm32")'.dependencies.uuid]
version = "1.22.0"
features = [
"v4",
"serde",
"js",
]