All notable changes to mindwave will be documented in this file.
Prompt Composer
- Tokenizer service using tiktoken-php with support for 46+ models
- Section management with priorities for intelligent prompt assembly
- Shrinkers (Truncate, Compress) for fitting content to context windows
Mindwave::prompt()facade for fluent prompt building- Automatic token counting and context window management
OpenTelemetry Tracing
- Full GenAI semantic conventions implementation
- Database exporter for local development and queries
- OTLP exporter for production observability (Jaeger, Grafana, Datadog, Honeycomb)
- Multi-exporter support for fan-out to multiple backends
- Automatic cost estimation and token usage tracking
- Events system (RequestStarted, TokenStreamed, ResponseCompleted, ErrorOccurred)
- Artisan commands:
mindwave:trace-export,mindwave:trace-prune,mindwave:trace-stats
Streaming SSE
streamText()method on LLM interfacestreamChat()method for structured streaming with metadataStreamChunkDTO for consistent streaming responsesStreamingExceptionwith retryable flag and provider trackingStreamRetryHandlerwith exponential backoff and jitter- SSE formatter (
StreamedTextResponse) for EventSource compatibility - Client examples: Vanilla JS, Alpine.js, Vue.js, React, TypeScript
TNTSearch Context Discovery
TntSearchSourcefor Eloquent, arrays, and CSV dataVectorStoreSourcefor Brain/RAG integrationEloquentSourcefor SQL LIKE searchesStaticSourcefor hardcoded contextContextPipelinefor multi-source aggregation and deduplicationEphemeralIndexManagerfor temporary search indexes with TTL- Artisan commands:
mindwave:index-stats,mindwave:clear-indexes
- OpenAI - Full support including GPT-4, GPT-4 Turbo, GPT-4o, o1 models
- Anthropic - Claude 3 Opus, Sonnet, Haiku; Claude 3.5 Sonnet
- Mistral - Mistral Medium, Large, and other models
- Fake - Testing driver with configurable responses
- Pinecone - Cloud vector database
- Qdrant - Open-source vector database
- Weaviate - AI-native vector database
- InMemory - For testing and small datasets
- File - JSON file-based persistence
- PDF loader (using smalot/pdfparser)
- Word document loader (.docx, .odt)
- HTML loader with tag stripping
- URL loader with content extraction
- Plain text loader
- Laravel Telescope - MindwaveWatcher for request monitoring
- Tags: mindwave, provider:, model:, slow, expensive, cached
- Privacy controls with
capture_messagesoption
- Namespace updated to
Mindwave\Mindwave - Removed agent/crew orchestration code (pivot to utilities focus)
- LLM interface now requires
streamText()andstreamChat()methods
- Mistral driver config key resolution
- Weaviate dependency installation
- Model class renamed to ModelNames to avoid conflicts
- Tool choice API compatibility across providers
- 1300+ tests with Pest PHP
- PHPStan level 4 with baseline
- Laravel Pint code style
- GrumPHP pre-commit hooks
- GitHub issue/PR templates
- Dependabot for dependency updates
- CONTRIBUTING.md and SECURITY.md
Initial development versions with agent framework (deprecated).