@yarlisai Framework
The @yarlisai/* framework is a set of npm packages that power MyBotBox. Every package follows the port/adapter contract so consumers depend on stable interfaces, not vendor SDKs.
These packages live in packages/ in the public monorepo. mybotbox-platform itself is the reference consumer — see apps/sat/lib for how every feature is wired against a port.
What's included
@yarlisai/core— Shared primitives — env helpers, logger, streaming types, trace types.@yarlisai/ai— Unified LLM port — OpenAI, Anthropic, Bedrock, Gemini, and 12 more provider adapters.@yarlisai/agents— Agent handler registry — react, planner, reflection, research, evaluator, more.@yarlisai/email— Email sending and validation. Resend + SendGrid + Azure ACS adapters.@yarlisai/cache— CacheProvider port + memory + redis adapters with TTL.@yarlisai/queue— QueueProvider port + cloud-tasks + memory adapters.@yarlisai/storage— StorageProvider port + GCS + S3 + memory adapters.@yarlisai/security— CSP builder, rate-limit middleware, RBAC, SSRF-safe fetch.@yarlisai/billing— BillingProvider port + Stripe + Paddle adapters.@yarlisai/audit— Audit logging — tamper-evident write-only log of security-relevant events.@yarlisai/brand— Multi-brand schema (icon, logo, og, email, print) + sync CLI.@yarlisai/otel— OpenTelemetry observability — OTLP + Sentry + noop adapters.@yarlisai/sandbox— Pluggable code-execution sandbox — worker-threads + memory adapters.@yarlisai/triggers-core— Generic trigger primitives — poll cadence, OAuth state, secret encryption.@yarlisai/workflow-validation— Pure DAG validators — block-reference + topology checks.@yarlisai/auth— Authentication port — Firebase + JWT adapters.@yarlisai/secrets— Pluggable secrets — GCP Secret Manager + memory adapters with TTL cache.@yarlisai/test-utils— Shared port-conformance runners + recording adapters for testing.@yarlisai/platform— Meta package — re-exports all framework packages for one-line install.@yarlisai/cli— CLI tooling for scaffolding + dev workflows.@yarlisai/cicd— CI/CD helpers — workflow scaffolding, deploy gates, changelog generators.@yarlisai/create-app— One-command bootstrap —bun x @yarlisai/create-appscaffolds a new product.
Why port/adapter
- Faster development — build once, reuse across multiple apps and products
- Consistency — shared UI, auth, logging, API clients, validation behave the same everywhere
- Lower maintenance — fix a bug once in the package instead of in every consumer
- Scalability — new products launch on the same foundation
- Quality — packages ship with their own tests, versioning, CI/CD
- Monetization — internal packages can later become open-source tools, SDKs, or paid devtools
- Vendor portability — adapters isolate cloud/provider-specific logic behind reusable interfaces