# Changelog All notable changes to ai-shell are documented here. ## [0.1.0] - 2026-07-15 ### Initial release - **Three modes**: `local` (encrypted IndexedDB), `hosted` (PocketBase), `studio` (PocketBase with shared conversations) - **7 main exports**: `AiShellProvider`, `AskUnit`, `ToastHost`, `useThreads`, `useCredentials`, `useProviders`, `useChat`, plus `WorkspacesChip`, `eventBus`, `migrateLocalToPB` - **Storage adapters**: - `IndexedDBStorage` — threads + encrypted credentials (AES-GCM, PBKDF2 100k iterations) - `PocketBaseStorage` — threads + credentials via PB REST API, with PB realtime (SSE) for cross-tab sync - **Provider registry**: - `OpenAICompatibleProvider` base class (handles SSE streaming, reasoning_content for MiniMax M2.7+, abort, typed errors) - Default providers: MiniMax, OpenAI, Anthropic (stub) - **Context builders**: - `createVibeCoderContextBuilder` — active file + cursor + diagnostics - `createVibeScopeContextBuilder` — active layer + properties + parent + children - **EventBus** — pub/sub with 50-event replay buffer, `fvs:` window event compat - **Toast system** — info + error, stack cap 5, auto-dismiss 5s, Esc dismisses all - **Cross-mode migration** — `migrateLocalToPB()`, `getLocalMigrationSize()`, `validateMigration()` - **Constitutional pact** — `pact/ai-shell.md` with 14 fragments covering all rules - **Type-safe** — strict TypeScript, all exports typed, no `any` in public API - **CSS tokens** — light + dark mode via `data-theme` + `prefers-color-scheme` auto-detect ### Known limitations - Anthropic provider is a stub (the wire format is not OpenAI-compatible) - No tool calling in v1 (the `ChatChunk` type has a `tool_call` variant but no consumer yet) - No multi-user features in `local` mode (single-tenant by design) - No image / file uploads yet ## [ARCHIVED] - 2026-07-23 ### ⛔ This repository is now ARCHIVED Per operator directive 2026-07-23 ("ai shell repo needs deleting these shell modules need to belong to Oscar"), all shell modules have been moved to `avidtech6/oscar-platform/app/src/modules//`. The gallery has been re-mirrored to source from Oscar. **What was moved:** | ai-shell path | New canonical home | |---|---| | `src/components/ToastHost.tsx` | `avidtech6/oscar-platform/app/src/modules/ai-toast/src/ToastHost.tsx` | | `src/components/WorkspacesChip.tsx` | `avidtech6/oscar-platform/app/src/modules/ai-workspaces-chip/src/WorkspacesChip.tsx` | | `src/voice/MicButton.tsx` | `avidtech6/oscar-platform/app/src/modules/ai-mic/src/MicButton.tsx` | | `src/voice/groq-stt.ts` | `avidtech6/oscar-platform/app/src/modules/ai-stt/src/groq-stt.ts` | | `src/voice/useSpeechToText.ts` | `avidtech6/oscar-platform/app/src/modules/ai-stt/src/useSpeechToText.ts` | | `src/styles/ai-shell.css` | `avidtech6/oscar-platform/app/src/styles/ai-shell.css` | **What is NOT moved (other code in this repo):** - The engine code (`src/engine/`) was already a re-export of Oscar's `app/src/assistant/`. No migration needed; Oscar imports locally. - The context builders (`src/context-builders/`) are app-specific (VibeCoder, VibeScope). These apps import locally from Oscar or their own modules. - The AskUnit (`src/ui/AskUnit.tsx`) was already in Oscar at `app/src/modules/oscar-ask-unit/`. - The EventBus (`src/core/EventBus.ts`) and BackStack (`src/core/BackStack.ts`) — not in any active module. If needed, can be moved to Oscar later. **Migration for consumers:** ```diff - import { MicButton, SttError } from '@freshvibe/ai-shell/voice'; + import { MicButton, SttError } from '@oscar/ai-mic'; - import { WorkspacesChip } from '@freshvibe/ai-shell/components'; + import { WorkspacesChip } from '@oscar/ai-workspaces-chip'; - import { ToastHost } from '@freshvibe/ai-shell/components'; + import { ToastHost } from '@oscar/ai-toast'; - import { transcribe, useSpeechToText } from '@freshvibe/ai-shell/voice'; + import { transcribe, useSpeechToText } from '@oscar/ai-stt'; - import '@freshvibe/ai-shell/styles'; + import './styles/ai-shell.css'; // or wherever Oscar's styles live ``` **Repository state**: This repo remains on GitHub for historical reference. All branches are read-only. No new development. Will remain until manually deleted by the operator.