क्षमता अनुबंध
यह सूची scripts/test-capability-contracts.mjs लागू करता है। क्षमता तब तक पूर्ण नहीं जब तक स्कीमा/कैटलॉग, निष्पादन हैंडलर, ब्राउज़र क्लाइंट, नामित UI कार्रवाई, दस्तावेज़, केंद्रित व्यवहार परीक्षण और पैकेज्ड manifest सहमत न हों।
| क्षमता | प्लगइन प्रकार | निष्पादन रूट | ब्राउज़र क्लाइंट | UI कार्रवाई | दस्तावेज़ | केंद्रित व्यवहार परीक्षण | पैकेज्ड परिभाषाएँ |
|---|---|---|---|---|---|---|---|
| चैट / पूर्णता | chat, completion | WS /ws (chat_stream) | frontend/src/hooks/useChat.ts | frontend/src/pages/ChatPage.tsx — handleSendMessage | docs/08-PLUGIN_ARCHITECTURE.md | scripts/test-chat-provider-selection.mjs (test:package) — सटीक प्लगइन रूट सामान्य और स्ट्रीम अनुरोधों में चुने प्रदाता तक पहुँचता है | anthropic, codex-oauth, gemini, github, groq, huggingface, kimi-code, llama-cpp, mistral, mlx-lm, openai, openrouter |
| एम्बेडिंग | embedding | POST /api/ollama/embedGET /api/embeddings/models (केवल खोज) | frontend/src/utils/api/modelApi.ts | frontend/src/components/ModelManager.tsx — handleGenerateEmbeddings | docs/09-RAG_FEATURE.md | scripts/test-plugin-capability-routing.mjs (test:package) — Hugging Face सामान्य Chat एंडपॉइंट छोड़कर कार्य पेलोड उपयोग करता है | huggingface |
| इमेज जनरेशन | image | POST /api/image-gen/generate | frontend/src/utils/api/imageGenApi.ts | frontend/src/components/ImageGenerationPanel.tsx — handleGenerate | docs/38-MEDIA_GENERATION.md | scripts/test-image-generation-routing.mjs (test:package) — चुना प्रदाता और उपयोगकर्ता OpenAI सेटिंग उपयोग होती है | comfyui, huggingface, openai, openrouter |
| भाषण से पाठ | stt | POST /api/stt/transcribe | frontend/src/utils/api/sttApi.ts | frontend/src/hooks/useDictation.ts — toggle | docs/42-SPEECH_TO_TEXT.md | scripts/test-stt-routing.mjs (test:package) — STT चुने रूट को OpenAI-संगत multipart भेजता हैfrontend/e2e/stt.spec.ts (test:e2e) — प्रदाता भाषण इनपुट रूट बताकर रिकॉर्डिंग लिखता है | huggingface, openai |
| पाठ से भाषण | tts | POST /api/tts/generate | frontend/src/utils/api/ttsApi.ts | frontend/src/components/TTSButton.tsx — handlePlay | docs/38-MEDIA_GENERATION.md | scripts/test-tts-routing.mjs (test:package) — TTS साझा मॉडल नाम चुने प्लगइन से भेजता हैfrontend/e2e/tts-playback.spec.ts (test:e2e) — बैच पढ़ाई हर बैच में सहेजा स्वर उपयोग करती है | elevenlabs, huggingface, kyutai-tts-1.6b, kyutai-tts, longcat-audiodit, openai-tts, openai, openrouter, qwen-tts |
| ऑडियो जनरेशन | audio | POST /api/media/sound/generate | frontend/src/utils/api/mediaApi.ts | frontend/src/components/MediaGenerationPanel.tsx — handleGenerate | docs/38-MEDIA_GENERATION.md | scripts/test-openrouter-media-routing.mjs (test:package) — OpenRouter ऑडियो मॉडल ध्वनि बाइट स्ट्रीम करते हैं | openrouter |
| वीडियो जनरेशन | video | POST /api/media/video/generatePOST /api/media/video/jobs/:jobId/resume | frontend/src/utils/api/mediaApi.tsfrontend/src/utils/api/mediaApi.ts | frontend/src/components/MediaGenerationPanel.tsx — handleGenerate | docs/38-MEDIA_GENERATION.md | scripts/test-openrouter-media-routing.mjs (test:package) — वीडियो प्रदाता एंडपॉइंट से भेजा, पोल और डाउनलोड होता हैscripts/test-openrouter-media-routing.mjs (test:package) — तैयार प्रकाशन खोई commit स्वीकृति हल करते हैं | openrouter |
प्रवर्तन
पैकेज गेट अघोषित स्कीमा/प्रकार, पुराने कैटलॉग, निष्पादन की तरह दिखे केवल-खोज रूट, ब्राउज़र ट्रांसपोर्ट रहित हैंडलर, दृश्य ट्रिगर रहित UI कार्रवाई, क्षमता दावा रहित दस्तावेज़, नामित केस में व्यवहार रहित परीक्षण, पुरानी सूची और गलत मैनिफ़ेस्ट एंडपॉइंट, मॉडल मानचित्र या डिफ़ॉल्ट को अस्वीकार करता है।
एम्बेडिंग POST /api/ollama/embed से बनती और चुने प्लगइन को जा सकती है। GET /api/embeddings/models मॉडल सूची है; गेट इसे केवल खोज मानता है, जनरेशन का प्रमाण नहीं।
स्रोत अनुबंध हर परीक्षण और रनर बताता है। बैकएंड स्क्रिप्ट test:package में पंजीकृत और फ़्रंटएंड spec Playwright आधारित test:e2e से खोजी जानी चाहिए। लाइव खोज कैटलॉग घटा सकती है, नई निष्पादन क्षमता नहीं बनाती।