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;
|
||||
console.log(`[Gemini] Using fixed models: [${this.availableModels.join(', ')}]`);
|
||||
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) {
|
||||
return loadResponse.cloudaicompanionProject;
|
||||
}
|
||||
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);
|
||||
while (!lro.done) {
|
||||
await new Promise(resolve => setTimeout(resolve, 2000));
|
||||
|
|
|
|||
Loading…
Reference in a new issue