mirror of
https://github.com/labring/FastGPT.git
synced 2026-04-25 02:01:53 +08:00
57a505f837
* chore: Rename service & container names for consistency in Docker configs (#6710) * chore: Rename container names for consistency in Docker configs * chore: Rename service names for consistency in Docker configs chore: Update OpenSandbox versions and image repositories (#6709) * chore: Update OpenSandbox versions and image repositories * yml version * images * init yml * port --------- Co-authored-by: archer <545436317@qq.com> refactor(chat): optimize sandbox status logic and decouple UI/Status hooks (#6713) * refactor(chat): optimize sandbox status logic and decouple UI/Status hooks * fix: useRef, rename onClose to afterClose Update .env.template (#6720) aiproxy默认的请求地址改成http协议 feat: comprehensive agent skill management and sandbox infrastructure optimization - Skill System: Implemented a full skill management module including CRUD operations, folder organization, AI-driven skill generation, and versioning (switch/update). - Sandbox Infrastructure: Introduced 'volume-manager' for PVC and Docker volume lifecycle management, replacing the MinIO sync-agent for better data persistence. - Workflow Integration: Enhanced the Agent node to support skill selection and configuration, including new UI components and data normalization. - Permission Management: Added granular permission controls for skills, supporting collaborators, owner transfers, and permission inheritance. - UI/UX: Added a dedicated Skill dashboard, sandbox debug interface (terminal, logs, and iframe proxy), and comprehensive i18n support. - Maintenance: Migrated Docker services to named volumes, optimized sandbox instance limits, and improved error handling for sandbox providers. Co-authored-by: chanzhi82020 <chenzhi@sangfor.com.cn> Co-authored-by: lavine77 Signed-off-by: Jon <ljp@sangfor.com.cn> feat: hide skill prettier * perf: hide skill code * fix: ts * lock * perf: tool code * fix: ts * lock * fix: test * fix: openapi * lock * fix: test * null model --------- Co-authored-by: archer <545436317@qq.com>
33 lines
1.0 KiB
TypeScript
33 lines
1.0 KiB
TypeScript
import { vi } from 'vitest';
|
|
import { randomUUID } from 'crypto';
|
|
import type { Mongoose } from '@fastgpt/service/common/mongo';
|
|
|
|
/**
|
|
* Mock MongoDB connection for testing
|
|
* Creates a unique database for each test run and drops it on connection
|
|
*/
|
|
vi.mock(import('@fastgpt/service/common/mongo/init'), async (importOriginal: any) => {
|
|
const mod = await importOriginal();
|
|
return {
|
|
...mod,
|
|
connectMongo: async (props: { db: Mongoose; url: string; connectedCb?: () => void }) => {
|
|
const { db, url } = props;
|
|
await db.connect(url, { dbName: randomUUID(), retryWrites: false });
|
|
await db.connection.db?.dropDatabase();
|
|
}
|
|
};
|
|
});
|
|
|
|
/**
|
|
* Mock mongoSessionRun to avoid transaction issues in tests
|
|
* MongoDB transactions require replica set, which may not be available in test environment
|
|
*/
|
|
vi.mock(import('@fastgpt/service/common/mongo/sessionRun'), async () => {
|
|
return {
|
|
mongoSessionRun: vi.fn(async (fn) => {
|
|
// Execute the function without a real session
|
|
return await fn(null as any);
|
|
})
|
|
};
|
|
});
|