thread-services 0.1.0

Service layer interfaces for Thread
Documentation
# SPDX-FileCopyrightText: 2025 Knitli Inc. <knitli@knit.li>
# SPDX-FileContributor: Adam Poulemanos <adam@knit.li>
# SPDX-License-Identifier: MIT OR Apache-2.0

[package]
name = "thread-services"
version = "0.1.0"
edition.workspace = true
rust-version.workspace = true
description = "Service layer interfaces for Thread"
readme = "README.md"
repository.workspace = true
license.workspace = true
keywords.workspace = true
categories.workspace = true
include.workspace = true

[dependencies]
# Service layer dependencies
async-trait = "0.1.88"
cfg-if = { workspace = true }
# Performance improvements
futures = { workspace = true, optional = true }
ignore = { workspace = true }
mimalloc = { workspace = true, optional = true }
pin-project = { workspace = true, optional = true }
# ReCoco utilities for content fingerprinting (blake3 hashing)
recoco-utils = { version = "0.2.1", default-features = false, features = [
  "fingerprint"
] }
serde = { workspace = true, optional = true }
thiserror = { workspace = true }
thread-ast-engine = { workspace = true, default-features = false, features = [
  "matching",
  "parsing"
], optional = true }
# thread-rule-engine = { workspace = true, default-features = false }
thread-language = { workspace = true, default-features = false, optional = true }
thread-utilities = { workspace = true, default-features = false, features = [
  "hashers",
] }
# Tower for service composition and BoxError pattern
tower = { version = "0.5.2", features = ["util"], optional = true }
tower-service = { version = "0.3.3", optional = true }

[features]
default = ["in-memory-only", "mimalloc"]
ast-grep-backend = [
  "dep:thread-ast-engine",
  "dep:thread-language",
  "matching",
  "parsing"
]
# string-optimization = ["dep:lasso"]
# Feature combinations for improved foundation
enhanced-foundation = ["performance", "tower-services"]
extensions = ["plugins"]
# Core service implementations
in-memory-only = []
intelligence-implementations = ["intelligence-traits"]
# Intelligence service boundaries
intelligence-traits = []  # Public trait definitions
matching = ["thread-ast-engine/matching", "thread-ast-engine/parsing"]
mimalloc = [
  "dep:mimalloc",
]
parsing = ["thread-ast-engine/parsing"]
performance = ["dep:futures", "dep:pin-project"]
# Plugin system
plugins = []
# Enhanced features
serialization = ["dep:serde"]
storage-implementations = ["storage-traits"]
# Temporarily disabled until dependencies are fixed
# Commercial service boundaries
storage-traits = ["dep:serde"]  # Trait definitions only
tower-services = ["dep:tower", "dep:tower-service"]
worker = [
  "thread-ast-engine?/worker",
  "thread-language?/worker",
  "thread-utilities/worker"
]