Skip to content

v0.2.1

Choose a tag to compare

@github-actions github-actions released this 18 Mar 03:10
· 77 commits to main since this release

[0.2.1] - 2026-03-17

Added

  • Multi-workspace support — multiple agent identities from one BAE process
  • Three-table schema: workspaces, channels, sessions with CHECK constraints and ON DELETE CASCADE
  • bae workspace list/add/remove/set-executor CLI commands
  • bae channel list/add/remove CLI commands with credential validation
  • Per-channel credential files (~/.bae/credentials/) with mode 0600
  • Per-channel access control (allowed_users per channel, not global)
  • Schema versioning via PRAGMA user_version with transaction-wrapped migrations
  • Channel ID generation via nanoid (path traversal guard on all credential operations)
  • Duplicate bot token detection across workspaces
  • Parallel multi-channel boot via Promise.allSettled
  • Foreign key indexes for cascade delete performance

Changed

  • SessionStore renamed to Store (manages workspaces, channels, and sessions)
  • Bot token passed directly to Chat SDK adapter constructor (no process.env mutation)
  • Separate Chat SDK state adapter per bot instance (prevents dedup collisions)
  • Explicit adapter.stopPolling() on shutdown (Chat SDK shutdown() alone doesn't stop polling)
  • createBot() now takes options object (CreateBotOptions) instead of positional args
  • createBridge() receives Store instance via config (injected, not created internally)
  • Bridge auth check uses pre-parsed allowedUsers: string[] from channel
  • All routing changed from (platform, threadId) to (channelId, conversationId)
  • bae init now creates workspace + channel + credential file (idempotent on re-run)
  • ~/.bae/.env now only stores BAE_PORT (credentials moved to per-channel files)
  • Version fallback reads package.json when running from source

Removed

  • Global BAE_ALLOWED_USERS env var (replaced by per-channel allowed_users)
  • Global BAE_CWD env var (replaced by workspace path in database)
  • TELEGRAM_BOT_TOKEN in ~/.bae/.env (moved to credential files)