load("@crates//:defs.bzl", "aliases", "all_crate_deps")
load("@rules_rust//rust:defs.bzl", "rust_binary", "rust_library", "rust_proc_macro", "rust_test")
filegroup(
name = "cargo_manifest",
srcs = ["Cargo.toml"],
visibility = ["//visibility:public"],
)
filegroup(
name = "package_runfiles",
srcs = glob(["Cargo.toml", "**/*"], exclude = ["BUILD", "BUILD.bazel"], allow_empty = True),
visibility = ["//visibility:public"],
)
rust_library(
name = "meerkat_workgraph",
aliases = aliases(package_name = "meerkat-workgraph"),
crate_name = "meerkat_workgraph",
crate_root = "src/lib.rs",
crate_features = [
"machine-schema-exports",
"schema",
"skills",
],
edition = "2024",
compile_data = [
"Cargo.toml",
"skills/workgraph-workflow/SKILL.md",
],
srcs = glob(["src/**/*.rs"]),
visibility = ["//visibility:public"],
rustc_env = {
"CARGO_PKG_VERSION": "0.7.21",
"CARGO_MANIFEST_DIR": "./meerkat-workgraph",
},
proc_macro_deps = all_crate_deps(
package_name = "meerkat-workgraph",
proc_macro = True,
),
deps = [
"//meerkat-capabilities:meerkat_capabilities",
"//meerkat-core:meerkat_core",
"//meerkat-machine-schema:meerkat_machine_schema",
"//meerkat-skills:meerkat_skills",
] + all_crate_deps(
package_name = "meerkat-workgraph",
normal = True,
),
)
rust_library(
name = "meerkat_workgraph_agent_factory_build",
aliases = aliases(package_name = "meerkat-workgraph"),
crate_name = "meerkat_workgraph",
crate_root = "src/lib.rs",
crate_features = [
"machine-schema-exports",
"schema",
"skills",
],
edition = "2024",
compile_data = [
"Cargo.toml",
"skills/workgraph-workflow/SKILL.md",
],
srcs = glob(["src/**/*.rs"]),
visibility = [
"//meerkat:__pkg__",
],
rustc_env = {
"CARGO_PKG_VERSION": "0.7.21",
"CARGO_MANIFEST_DIR": "./meerkat-workgraph",
},
proc_macro_deps = all_crate_deps(
package_name = "meerkat-workgraph",
proc_macro = True,
),
deps = [
"//meerkat:meerkat_capabilities_agent_factory_build",
"//meerkat:meerkat_core_agent_factory_build",
"//meerkat:meerkat_machine_schema_agent_factory_build",
"//meerkat:meerkat_skills_agent_factory_build",
] + all_crate_deps(
package_name = "meerkat-workgraph",
normal = True,
),
)
rust_test(
name = "meerkat_workgraph_unit_test",
aliases = aliases(
package_name = "meerkat-workgraph",
normal = True,
normal_dev = True,
proc_macro = True,
proc_macro_dev = True,
),
crate_name = "meerkat_workgraph",
crate_root = "src/lib.rs",
crate_features = [
"machine-schema-exports",
"schema",
"skills",
],
edition = "2024",
compile_data = [
"Cargo.toml",
"skills/workgraph-workflow/SKILL.md",
],
srcs = glob(["src/**/*.rs"]),
visibility = ["//visibility:public"],
rustc_env = {
"CARGO_PKG_VERSION": "0.7.21",
"CARGO_MANIFEST_DIR": "./meerkat-workgraph",
},
tags = [
"fast",
"unit",
],
size = "small",
data = [
":package_runfiles",
],
env = {
"RUST_MIN_STACK": "16777216",
},
proc_macro_deps = all_crate_deps(
package_name = "meerkat-workgraph",
proc_macro = True,
proc_macro_dev = True,
),
deps = [
"//meerkat-capabilities:meerkat_capabilities",
"//meerkat-core:meerkat_core",
"//meerkat-machine-schema:meerkat_machine_schema",
"//meerkat-skills:meerkat_skills",
] + all_crate_deps(
package_name = "meerkat-workgraph",
normal = True,
normal_dev = True,
),
)
rust_test(
name = "attention_contracts_test",
aliases = aliases(
package_name = "meerkat-workgraph",
normal = True,
normal_dev = True,
proc_macro = True,
proc_macro_dev = True,
),
crate_name = "attention_contracts",
crate_root = "tests/attention_contracts.rs",
crate_features = [
"machine-schema-exports",
"schema",
"skills",
],
edition = "2024",
compile_data = [
"Cargo.toml",
"skills/workgraph-workflow/SKILL.md",
],
srcs = [
"tests/attention_contracts.rs",
],
visibility = ["//visibility:public"],
rustc_env = {
"CARGO_PKG_VERSION": "0.7.21",
"CARGO_BIN_NAME": "attention_contracts",
"CARGO_MANIFEST_DIR": "./meerkat-workgraph",
},
tags = [
"fast",
],
size = "small",
data = [],
env = {
"RUST_MIN_STACK": "16777216",
},
proc_macro_deps = all_crate_deps(
package_name = "meerkat-workgraph",
proc_macro = True,
proc_macro_dev = True,
),
deps = [
"//meerkat-capabilities:meerkat_capabilities",
"//meerkat-core:meerkat_core",
"//meerkat-machine-schema:meerkat_machine_schema",
"//meerkat-skills:meerkat_skills",
"//meerkat-workgraph:meerkat_workgraph",
] + all_crate_deps(
package_name = "meerkat-workgraph",
normal = True,
normal_dev = True,
),
)
test_suite(
name = "fast_tests",
tests = [
":attention_contracts_test",
":meerkat_workgraph_unit_test",
],
)