feat(community): add COMMUNITY_DB_URL config + community features to tiers

This commit is contained in:
pyr0ball 2026-04-13 09:02:44 -07:00
parent b97cd59920
commit 1a9a8579a2
2 changed files with 13 additions and 0 deletions

View file

@ -35,6 +35,16 @@ class Settings:
# Database
DB_PATH: Path = Path(os.environ.get("DB_PATH", str(DATA_DIR / "kiwi.db")))
# Community feature settings
COMMUNITY_DB_URL: str | None = os.environ.get("COMMUNITY_DB_URL") or None
COMMUNITY_PSEUDONYM_SALT: str = os.environ.get(
"COMMUNITY_PSEUDONYM_SALT", "kiwi-default-salt-change-in-prod"
)
COMMUNITY_CLOUD_FEED_URL: str = os.environ.get(
"COMMUNITY_CLOUD_FEED_URL",
"https://menagerie.circuitforge.tech/kiwi/api/v1/community/posts",
)
# Processing
MAX_CONCURRENT_JOBS: int = int(os.environ.get("MAX_CONCURRENT_JOBS", "4"))
USE_GPU: bool = os.environ.get("USE_GPU", "true").lower() in ("1", "true", "yes")

View file

@ -16,6 +16,7 @@ KIWI_BYOK_UNLOCKABLE: frozenset[str] = frozenset({
"expiry_llm_matching",
"receipt_ocr",
"style_classifier",
"community_fork_adapt",
})
# Feature → minimum tier required
@ -38,6 +39,8 @@ KIWI_FEATURES: dict[str, str] = {
"style_picker": "paid",
"recipe_collections": "paid",
"style_classifier": "paid", # LLM auto-tag for saved recipe style tags; BYOK-unlockable
"community_publish": "paid", # Publish plans/outcomes to community feed
"community_fork_adapt": "paid", # Fork with LLM pantry adaptation (BYOK-unlockable)
# Premium tier
"multi_household": "premium",