feat(server): tag and collection record for context (#10926)

fix CLOUD-174
This commit is contained in:
darkskygit
2025-03-17 14:17:01 +00:00
parent 3dbeebd6ba
commit b0aa2c90fd
9 changed files with 262 additions and 4 deletions
@@ -19,6 +19,7 @@ import {
ContextEmbedStatus,
ContextFile,
EmbeddingClient,
MinimalContextConfigSchema,
} from './types';
import { checkEmbeddingAvailable } from './utils';
@@ -128,7 +129,12 @@ export class CopilotContextService implements OnModuleInit {
const context = await this.db.aiContext.create({
data: {
sessionId,
config: { workspaceId: session.workspaceId, docs: [], files: [] },
config: {
workspaceId: session.workspaceId,
docs: [],
files: [],
categories: [],
},
},
});
@@ -149,7 +155,19 @@ export class CopilotContextService implements OnModuleInit {
});
if (ret) {
const config = ContextConfigSchema.safeParse(ret.config);
if (config.success) return this.cacheSession(id, config.data);
if (config.success) {
return this.cacheSession(id, config.data);
}
const minimalConfig = MinimalContextConfigSchema.safeParse(ret.config);
if (minimalConfig.success) {
// fulfill the missing fields
return this.cacheSession(id, {
...minimalConfig.data,
docs: [],
files: [],
categories: [],
});
}
}
throw new CopilotInvalidContext({ contextId: id });
}