fix: ChatBubble crash and DeepSeek API compatibility

- Fix ChatBubble to handle non-string content with String() wrapper
- Fix API route to use generateText for non-streaming requests
- Add @ai-sdk/openai-compatible for non-OpenAI providers (DeepSeek, etc.)
- Use Chat Completions API instead of Responses API for compatible providers
- Update ChatBubble tests and fix component exports to kebab-case
- Remove stale PascalCase ChatBubble.tsx file
This commit is contained in:
Max
2026-01-26 16:55:05 +07:00
parent 6b113e0392
commit e9e6fadb1d
544 changed files with 113077 additions and 427 deletions

View File

@@ -0,0 +1,136 @@
---
name: 'v-02e-validate-sidecar'
description: 'Validate sidecar structure and append to report'
nextStepFile: './v-03-summary.md'
validationReport: '{bmb_creations_output_folder}/validation-report-{agent-name}.md'
expertValidation: ../data/expert-agent-validation.md
criticalActions: ../data/critical-actions.md
agentFile: '{agent-file-path}'
sidecarFolder: '{agent-sidecar-folder}'
---
# Validate Step 2e: Validate Sidecar
## STEP GOAL
Validate the agent's sidecar structure (if Expert type) against BMAD standards as defined in expertValidation.md. Append findings to validation report and auto-advance.
## MANDATORY EXECUTION RULES
- 📖 CRITICAL: Read the complete step file before taking any action
- 🔄 CRITICAL: Read validationReport and expertValidation first
- 🔄 CRITICAL: Load the actual agent file to check for sidecar
- 🚫 NO MENU - append findings and auto-advance
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
### Step-Specific Rules:
- 🎯 Validate sidecar against expertValidation.md rules (for Expert agents)
- 📊 Append findings to validation report
- 🚫 FORBIDDEN to present menu
## EXECUTION PROTOCOLS
- 🎯 Load expertValidation.md reference
- 🎯 Load the actual agent file for validation
- 📊 Validate sidecar if Expert type, skip for Simple/Module
- 💾 Append findings to validation report
- ➡️ Auto-advance to summary step
## MANDATORY SEQUENCE
**CRITICAL:** Follow this sequence exactly. Do not skip, reorder, or improvise unless user explicitly requests a change.
### 1. Load References
Read `{expertValidation}`, `{criticalActions}`, `{validationReport}`, and `{agentFile}`.
### 2. Conditional Validation
**IF (module = "stand-alone" AND hasSidecar = true) OR (module ≠ "stand-alone" AND hasSidecar = true):**
Perform these checks systematically - validate EVERY rule specified in expertValidation.md:
#### A. Sidecar Folder Validation
- [ ] Sidecar folder exists at specified path
- [ ] Sidecar folder is accessible and readable
- [ ] Sidecar folder path in metadata matches actual location
- [ ] Folder naming follows convention: `{agent-name}-sidecar`
#### B. Sidecar File Inventory
- [ ] List all files in sidecar folder
- [ ] Verify expected files are present
- [ ] Check for unexpected files
- [ ] Validate file names follow conventions
#### C. Path Reference Validation
For each sidecar path reference in agent YAML:
- [ ] Extract path from YAML reference
- [ ] Verify file exists at referenced path
- [ ] Check path format is correct (relative/absolute as expected)
- [ ] Validate no broken path references
#### D. Critical Actions File Validation (if present)
- [ ] critical-actions.md file exists
- [ ] File has proper frontmatter
- [ ] Actions section is present and not empty
- [ ] No critical sections missing
- [ ] File content is complete (not just placeholder)
#### E. Module Files Validation (if present)
- [ ] Module files exist at referenced paths
- [ ] Each module file has proper frontmatter
- [ ] Module file content is complete
- [ ] No empty or placeholder module files
#### F. Sidecar Structure Completeness
- [ ] All referenced sidecar files present
- [ ] No orphaned references (files referenced but not present)
- [ ] No unreferenced files (files present but not referenced)
- [ ] File structure matches expert agent requirements
**IF (module = "stand-alone" AND hasSidecar = false):**
- [ ] Mark sidecar validation as N/A
- [ ] Confirm no sidecar-folder path in metadata
- [ ] Confirm no sidecar references in menu handlers
### 3. Append Findings to Report
Append to `{validationReport}`:
```markdown
### Sidecar Validation
**Status:** {✅ PASS / ⚠️ WARNING / ❌ FAIL / N/A}
**Agent Type:** {simple|expert|module with sidecar}
**Checks:**
- [ ] metadata.sidecar-folder present (Expert only)
- [ ] sidecar-path format correct
- [ ] Sidecar files exist at specified path
- [ ] All referenced files present
- [ ] No broken path references
**Detailed Findings:**
*PASSING (for Expert agents):*
{List of passing checks}
*WARNINGS:*
{List of non-blocking issues}
*FAILURES:*
{List of blocking issues that must be fixed}
*N/A (for Simple agents):*
N/A - Agent is Simple type (module = "stand-alone" + hasSidecar: false, no sidecar required)
```
### 4. Auto-Advance
Load and execute `{nextStepFile}` immediately.
---
**Compiling validation summary...**