ahamie.config.ts
import { defineAhamieConfig } from "@ahamie/sdk";
export default defineAhamieConfig({ identity: { provider: "better-auth", organization: { enabled: true }, plugins: ["magic-link", "passkey", "2fa", "bearer", "multi-session"], sessionTtl: "7d", }, storage: { url: process.env.AHAMIE_DB_URL ?? "auto-spin-docker", pgvector: true, blobstore: { kind: "local-fs", path: "./.ahamie/blobs" }, cas: { kind: "local-fs", path: "./.ahamie/cas" }, }, connectorProxy: { listen: "127.0.0.1:7787", bearer: process.env.AHAMIE_PROXY_TOKEN, invariants: { stripAuthOnRequest: true, // I3 stripAuthOnResponse: true, // I4 hmacOnIngress: true, // I5 }, mcp: { mode: "inside-proxy" }, }, sandbox: { rule: "auto", egress: { policy: "unrestricted" } }, automation: { engine: "in-process", triggers: { allow: ["cron", "webhook", "manual", "appEvent", "channel"] }, }, telemetry: { mastra: { enabled: true }, otel: { exporter: "console" } }, eval: { hiddenGoldenPrefix: "ahamie://golden" }, outcomes: { instrument: ["automation", "approval", "factory", "proxy"] }, ui: { registry: "@ahamie/ui", components: ["AgentRunTree", "RunConsole", "ApprovalInbox", "ConnectorSetup", "ManifestEditor"], },});Field reference
Section titled “Field reference”identity
Section titled “identity”provider:"better-auth" | "authentik" | "keycloak" | "custom". Defaultbetter-auth.organization.enabled: tenant from day 1 (T19). Required for multi-tenant.plugins: Better-Auth plugins to enable.sessionTtl: max session age.
storage
Section titled “storage”url: Postgres URL or"auto-spin-docker".pgvector: install pgvector (defaulttrue).blobstore:local-fs(v0) ors3(v1).cas: same shape as blobstore.
connectorProxy
Section titled “connectorProxy”listen: address the proxy binds to. Default127.0.0.1:7787.bearer: per-launch token. Generated byahamie devif unset.invariants: I3–I5 enforce flags. Do not turn off in production.mcp.mode:"inside-proxy" | "out-of-proxy". Defaultinside-proxy(T8).
sandbox
Section titled “sandbox”rule:"auto" | "local" | "docker" | "compute-sdk".egress.policy:"unrestricted"(v0 default) →"localhost+allowlist"(v1) →"deny"(v2).
automation
Section titled “automation”engine:"in-process"(v0) or"inngest"(v1).triggers.allow: trigger kinds the runtime accepts.
telemetry
Section titled “telemetry”mastra.enabled: Mastra Observability (AI spans).otel.exporter:"console" | "memory" | "otlp" | "langfuse" | "sentry".
hiddenGoldenPrefix: separate-IAM prefix the agent cannot reach.
outcomes
Section titled “outcomes”instrument: which subsystems auto-record outcomes.