mirror of
https://github.com/fabro-sh/fabro.git
synced 2026-09-09 22:33:37 +00:00
Move the WorkflowVersion wire type and its structural invariants (file count and size limits, entrypoint presence, unique keys, path collisions, canonical form) into fabro-types, so fabro-api replaces the generated schema type without pulling graph parsing or the template engine into every API consumer. The wire shape is unchanged. fabro-workflow-version keeps the expensive graph/config/template validation behind a ValidatedWorkflowVersion newtype and now owns WorkflowVersionStore: put only accepts validated versions and get still re-validates blobs read from shared storage. fabro-store goes back to being domain-agnostic persistence. Move the static-reference attribute vocabulary (ReferenceKind, AttributeScope, reference_kind_for_attribute) to fabro_types::graph and template-syntax validation to fabro-template, so fabro-graphviz no longer depends on the template engine. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
45 lines
1.1 KiB
TOML
45 lines
1.1 KiB
TOML
[package]
|
|
name = "fabro-store"
|
|
edition.workspace = true
|
|
version.workspace = true
|
|
publish = false
|
|
license.workspace = true
|
|
|
|
[lib]
|
|
doctest = false
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[features]
|
|
test-support = []
|
|
|
|
[dependencies]
|
|
fabro-types = { path = "../../foundation/fabro-types" }
|
|
fabro-util = { path = "../../foundation/fabro-util" }
|
|
hex.workspace = true
|
|
slatedb.workspace = true
|
|
object_store.workspace = true
|
|
percent-encoding.workspace = true
|
|
async-trait.workspace = true
|
|
tokio = { workspace = true, features = ["full"] }
|
|
tokio-stream.workspace = true
|
|
dashmap.workspace = true
|
|
serde.workspace = true
|
|
serde_json.workspace = true
|
|
sqlx.workspace = true
|
|
strum.workspace = true
|
|
chrono = { workspace = true, features = ["serde"] }
|
|
bytes.workspace = true
|
|
thiserror.workspace = true
|
|
tracing.workspace = true
|
|
futures.workspace = true
|
|
uuid.workspace = true
|
|
|
|
[dev-dependencies]
|
|
fabro-types = { path = "../../foundation/fabro-types", features = ["test-support"] }
|
|
tokio = { workspace = true, features = ["test-util", "macros"] }
|
|
tempfile = "3"
|
|
ulid.workspace = true
|
|
insta = { workspace = true }
|
|
fabro-db = { path = "../../foundation/fabro-db" }
|