feat(gemini-core): 添加客户端元数据并支持默认项目ID
在调用API时添加完整的客户端元数据信息,包括IDE类型、平台和插件类型等,并使用默认项目ID进行初始化。这有助于服务端更好地识别客户端环境并提供更准确的响应。
This commit is contained in:
parent
bf573bb8f5
commit
b9d77090c9
1 changed files with 11 additions and 2 deletions
|
|
@ -164,12 +164,21 @@ export class GeminiApiService {
|
||||||
this.availableModels = GEMINI_MODELS;
|
this.availableModels = GEMINI_MODELS;
|
||||||
console.log(`[Gemini] Using fixed models: [${this.availableModels.join(', ')}]`);
|
console.log(`[Gemini] Using fixed models: [${this.availableModels.join(', ')}]`);
|
||||||
try {
|
try {
|
||||||
const loadResponse = await this.callApi('loadCodeAssist', { metadata: { pluginType: 'GEMINI' } });
|
const initialProjectId = "default"
|
||||||
|
// Prepare client metadata
|
||||||
|
const clientMetadata = {
|
||||||
|
ideType: "IDE_UNSPECIFIED",
|
||||||
|
platform: "PLATFORM_UNSPECIFIED",
|
||||||
|
pluginType: "GEMINI",
|
||||||
|
duetProject: initialProjectId,
|
||||||
|
}
|
||||||
|
|
||||||
|
const loadResponse = await this.callApi('loadCodeAssist', { metadata: clientMetadata });
|
||||||
if (loadResponse.cloudaicompanionProject) {
|
if (loadResponse.cloudaicompanionProject) {
|
||||||
return loadResponse.cloudaicompanionProject;
|
return loadResponse.cloudaicompanionProject;
|
||||||
}
|
}
|
||||||
const defaultTier = loadResponse.allowedTiers?.find(tier => tier.isDefault);
|
const defaultTier = loadResponse.allowedTiers?.find(tier => tier.isDefault);
|
||||||
const onboardRequest = { tierId: defaultTier?.id || 'free-tier', metadata: { pluginType: 'GEMINI' } , cloudaicompanionProject: 'default',};
|
const onboardRequest = { tierId: defaultTier?.id || 'free-tier', metadata: clientMetadata , cloudaicompanionProject: initialProjectId,};
|
||||||
let lro = await this.callApi('onboardUser', onboardRequest);
|
let lro = await this.callApi('onboardUser', onboardRequest);
|
||||||
while (!lro.done) {
|
while (!lro.done) {
|
||||||
await new Promise(resolve => setTimeout(resolve, 2000));
|
await new Promise(resolve => setTimeout(resolve, 2000));
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue