forked from LinuxSuRen/api-testing
-
Couldn't load subscription status.
- Fork 1
feat: integrate comprehensive AI plugin testing framework and multi-source support #12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
KariHall619
wants to merge
14
commits into
master
Choose a base branch
from
fix
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
f4812e3 to
30dbf5e
Compare
Adds support for AI-powered features via a new extension mechanism. This includes dynamically loading the AI extension's CSS and JS, and retrying the plugin mounting process with exponential backoff to ensure proper initialization. Also, provides a basic GRPC querying functionality which could call AI methods, and converts the AI response to standard data format. The AI plugin can be built from source or downloaded from a binary URL.
Restore two essential bug fixes that were incorrectly removed: 1. vite.config.ts fixes: - Fix test-id removal logic: only remove in production, preserve for E2E tests - Improve build performance: replace single chunk with optimized chunk splitting - Separate vue, element-plus, and vendor chunks for better caching 2. App.vue fix: - Fix Extension component prop: use menu.index instead of menu.name - Ensures AI plugin can be correctly identified and loaded These fixes are critical for AI plugin functionality and should not be reverted.
Consolidates the vite build configuration to output a single chunk, simplifying the config and potentially improving build times in some scenarios. The previous manual chunk configuration is removed.
Updates the AI model name description to indicate that the model is automatically detected from available models. Sets the default value for the model to an empty string, reflecting the auto-detection behavior.
…AI parameters. Adjust the stores.yaml file structure and add more configuration parameters such as provider and endpoint for AI plug-ins.
The AI plugin build process is removed from the makefile. The AI plugin is assumed to be pre-built or handled by a separate process, simplifying the build and execution flow.
- Remove console.log/error from Extension.vue for production readiness - Add comments to encodeAIGenerateParams explaining field filtering logic Resolves review feedback from yuluo-yx and LinuxSuRen
Remove temperature references from AI plugin interface to align with atest-ext-ai changes: - Update ai_interface.go documentation examples to remove temperature from config JSON - Remove temperature parameter definition from stores.yaml plugin configuration - Remove temperature from default properties in stores.yaml Temperature configuration is no longer supported in the AI plugin interface. Users should configure model-specific parameters directly when creating LLM clients if needed.
- Add socket file cleanup loop in StopAll() to prevent resource leaks - Use RLock to safely copy filesNeedToBeRemoved list - Remove all tracked socket files before stopping signal - Ensures proper cleanup when plugin manager shuts down
Ensures extensions can load correctly by injecting a context containing i18n, API, and Cache. Populates socket URLs for extensions relying on Unix sockets, addressing potential connection issues. Improves AI query parameter handling by filtering and encoding parameters for AI generation requests, ensuring only relevant data is sent to the plugin.
Removes happy-dom and related dependencies from package-lock.json. These dependencies are no longer required and are being removed to reduce the overall size of the project's dependencies.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Test plan
Key Features
Core Testing Framework
Multi-Source Support
Build & Integration Improvements
Frontend Enhancements
This PR represents critical testing infrastructure that ensures AI plugin ecosystem reliability and significantly improves the developer experience for plugin development and deployment.