@you-want/polyllm-gemini 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,SAAS,EAOf,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AA6B1C,eAAO,MAAM,YAAY,EAAE,SAqH1B,CAAA;AAED,OAAO,EAAE,YAAY,EAAE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyG,KAAK,SAAS,EAA2G,MAAM,wBAAwB,CAAA;AACvQ,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAkB1C,eAAO,MAAM,YAAY,EAAE,SA8C1B,CAAA;AAED,OAAO,EAAE,YAAY,EAAE,CAAA"}
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { PolyLLMError, resolveProviderRuntime, } from '@you-want/polyllm-core';
1
+ import { providerJSON, providerStream, resolveProviderRuntime } from '@you-want/polyllm-core';
2
2
  import { geminiModels } from './models.js';
3
3
  import { buildGeminiRequestBody, createGeminiStreamState, normalizeGeminiModelId, parseGeminiModelsResponse, parseGeminiResponse, parseGeminiStreamEvent, } from './wire.js';
4
4
  const DEFAULT_BASE_URL = 'https://generativelanguage.googleapis.com/v1beta';
@@ -7,16 +7,6 @@ function endpoint(baseUrl, model, action) {
7
7
  const suffix = action === 'streamGenerateContent' ? '?alt=sse' : '';
8
8
  return `${baseUrl.replace(/\/$/, '')}/models/${normalized}:${action}${suffix}`;
9
9
  }
10
- function combineSignals(signal, timeoutMs) {
11
- if (!timeoutMs)
12
- return signal;
13
- const timeout = AbortSignal.timeout(timeoutMs);
14
- return signal ? AbortSignal.any([signal, timeout]) : timeout;
15
- }
16
- async function readErrorMessage(response) {
17
- const text = await response.text();
18
- return text || response.statusText;
19
- }
20
10
  export const geminiPlugin = {
21
11
  provider: 'gemini',
22
12
  models: geminiModels,
@@ -42,82 +32,26 @@ export const geminiPlugin = {
42
32
  },
43
33
  async listModels(config) {
44
34
  const runtime = resolveProviderRuntime('gemini', config);
45
- const baseUrl = runtime.baseUrl.trim() || DEFAULT_BASE_URL;
46
- const response = await fetch(`${baseUrl.replace(/\/$/, '')}/models`, {
47
- headers: { 'x-goog-api-key': runtime.apiKey, ...runtime.headers },
48
- });
49
- if (!response.ok) {
50
- throw new PolyLLMError('PROVIDER_ERROR', `Gemini 模型列表获取失败: ${response.status} ${await readErrorMessage(response)}`, { status: response.status, provider: 'gemini' });
51
- }
52
- return parseGeminiModelsResponse((await response.json()));
35
+ const headers = { 'content-type': 'application/json', 'x-goog-api-key': runtime.apiKey, ...runtime.headers };
36
+ const baseUrl = runtime.baseUrl || DEFAULT_BASE_URL;
37
+ return providerJSON('gemini', `${baseUrl.replace(/\/$/, '')}/models`, { headers }, {}, parseGeminiModelsResponse);
53
38
  },
54
39
  async chat(request, config, context) {
55
40
  const runtime = resolveProviderRuntime('gemini', config);
56
- const baseUrl = runtime.baseUrl.trim() || DEFAULT_BASE_URL;
57
- const response = await fetch(endpoint(baseUrl, context.model.id, 'generateContent'), {
58
- method: 'POST',
59
- headers: {
60
- 'content-type': 'application/json',
61
- 'x-goog-api-key': runtime.apiKey,
62
- ...runtime.headers,
63
- },
64
- body: JSON.stringify(buildGeminiRequestBody(request, context)),
65
- signal: combineSignals(context.signal, context.timeoutMs) ?? null,
66
- });
67
- if (!response.ok) {
68
- throw new PolyLLMError('PROVIDER_ERROR', `Gemini API 错误: ${response.status} ${await readErrorMessage(response)}`, { status: response.status, provider: 'gemini' });
69
- }
70
- const data = (await response.json());
71
- return parseGeminiResponse(data, context.model.id);
41
+ const headers = { 'content-type': 'application/json', 'x-goog-api-key': runtime.apiKey, ...runtime.headers };
42
+ const baseUrl = runtime.baseUrl || DEFAULT_BASE_URL;
43
+ return providerJSON('gemini', endpoint(baseUrl, context.model.id, 'generateContent'), {
44
+ method: 'POST', headers, body: JSON.stringify(buildGeminiRequestBody(request, context)),
45
+ }, context, data => parseGeminiResponse(data, context.model.id));
72
46
  },
73
47
  async *chatStream(request, config, context) {
74
48
  const runtime = resolveProviderRuntime('gemini', config);
75
- const baseUrl = runtime.baseUrl.trim() || DEFAULT_BASE_URL;
76
- const response = await fetch(endpoint(baseUrl, context.model.id, 'streamGenerateContent'), {
77
- method: 'POST',
78
- headers: {
79
- 'content-type': 'application/json',
80
- 'x-goog-api-key': runtime.apiKey,
81
- ...runtime.headers,
82
- },
83
- body: JSON.stringify({ ...buildGeminiRequestBody({ ...request, stream: true }, context) }),
84
- signal: combineSignals(context.signal, context.timeoutMs) ?? null,
85
- });
86
- if (!response.ok) {
87
- throw new PolyLLMError('PROVIDER_ERROR', `Gemini API 错误: ${response.status} ${await readErrorMessage(response)}`, { status: response.status, provider: 'gemini' });
88
- }
89
- if (!response.body)
90
- throw new PolyLLMError('PROVIDER_ERROR', 'Gemini API 未返回响应流');
91
- const reader = response.body.getReader();
92
- const decoder = new TextDecoder();
93
- let buffer = '';
49
+ const headers = { 'content-type': 'application/json', 'x-goog-api-key': runtime.apiKey, ...runtime.headers };
50
+ const baseUrl = runtime.baseUrl || DEFAULT_BASE_URL;
94
51
  const state = createGeminiStreamState();
95
- const handleLine = (line) => {
96
- const trimmed = line.trim();
97
- if (!trimmed.startsWith('data:'))
98
- return [];
99
- const payload = trimmed.slice('data:'.length).trim();
100
- if (!payload)
101
- return [];
102
- return parseGeminiStreamEvent(JSON.parse(payload), state, context.model.id);
103
- };
104
- while (true) {
105
- const { done, value } = await reader.read();
106
- if (done)
107
- break;
108
- buffer += decoder.decode(value, { stream: true });
109
- const lines = buffer.split('\n');
110
- buffer = lines.pop() ?? '';
111
- for (const line of lines) {
112
- for (const chunk of handleLine(line))
113
- yield chunk;
114
- }
115
- }
116
- buffer += decoder.decode();
117
- if (buffer.trim()) {
118
- for (const chunk of handleLine(buffer))
119
- yield chunk;
120
- }
52
+ yield* providerStream('gemini', endpoint(baseUrl, context.model.id, 'streamGenerateContent'), {
53
+ method: 'POST', headers, body: JSON.stringify(buildGeminiRequestBody({ ...request, stream: true }, context)),
54
+ }, context, event => parseGeminiStreamEvent(event, state, context.model.id));
121
55
  },
122
56
  };
123
57
  export { geminiModels };
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"wire.d.ts","sourceRoot":"","sources":["../src/wire.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,WAAW,EACX,YAAY,EACZ,UAAU,EAGV,cAAc,EACd,eAAe,EACf,kBAAkB,EAGlB,iBAAiB,EAClB,MAAM,wBAAwB,CAAA;AAE/B,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACjD,YAAY,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,UAAU,CAAA;KAAE,CAAA;IACnD,gBAAgB,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,UAAU,CAAA;KAAE,CAAA;CAC5D;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;IACtB,KAAK,EAAE,iBAAiB,EAAE,CAAA;CAC3B;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,UAAU,EAAE,CAAA;IACtB,iBAAiB,CAAC,EAAE;QAAE,KAAK,EAAE,iBAAiB,EAAE,CAAA;KAAE,CAAA;IAClD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,KAAK,CAAC,EAAE;QAAE,oBAAoB,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,CAAC;YAAC,UAAU,CAAC,EAAE,UAAU,CAAA;SAAE,EAAE,CAAA;KAAE,EAAE,CAAA;CACtG;AAqBD,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,SAAS,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CAC5C;AAED,wBAAgB,uBAAuB,IAAI,iBAAiB,CAE3D;AA6BD,iFAAiF;AACjF,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE9D;AAiBD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,WAAW,GAAG,iBAAiB,CA4CvG;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,YAAY,CAYrF;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,GAAG,eAAe,CAmC5F;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,GAAG,kBAAkB,EAAE,CAkD/H;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,UAAU,GAAG,iBAAiB,EAAE,CAK/E"}
1
+ {"version":3,"file":"wire.d.ts","sourceRoot":"","sources":["../src/wire.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,WAAW,EACX,YAAY,EACZ,UAAU,EAGV,cAAc,EACd,eAAe,EACf,kBAAkB,EAGlB,iBAAiB,EAClB,MAAM,wBAAwB,CAAA;AAE/B,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACjD,YAAY,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,UAAU,CAAA;KAAE,CAAA;IACnD,gBAAgB,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,UAAU,CAAA;KAAE,CAAA;CAC5D;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;IACtB,KAAK,EAAE,iBAAiB,EAAE,CAAA;CAC3B;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,UAAU,EAAE,CAAA;IACtB,iBAAiB,CAAC,EAAE;QAAE,KAAK,EAAE,iBAAiB,EAAE,CAAA;KAAE,CAAA;IAClD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,KAAK,CAAC,EAAE;QAAE,oBAAoB,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,CAAC;YAAC,UAAU,CAAC,EAAE,UAAU,CAAA;SAAE,EAAE,CAAA;KAAE,EAAE,CAAA;CACtG;AAqBD,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,SAAS,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CAC5C;AAED,wBAAgB,uBAAuB,IAAI,iBAAiB,CAE3D;AA6BD,iFAAiF;AACjF,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE9D;AAiBD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,WAAW,GAAG,iBAAiB,CA8CvG;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,YAAY,CAYrF;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,GAAG,eAAe,CAqC5F;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,GAAG,kBAAkB,EAAE,CAkD/H;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,UAAU,GAAG,iBAAiB,EAAE,CAK/E"}
package/dist/wire.js CHANGED
@@ -50,16 +50,19 @@ export function buildGeminiRequestBody(request, context) {
50
50
  .map((message) => mapContent(message.content))
51
51
  .flatMap((parts) => parts);
52
52
  const contents = [];
53
+ const toolNames = new Map();
53
54
  for (const message of request.messages) {
54
55
  if (message.role === 'system')
55
56
  continue;
57
+ for (const call of message.toolCalls ?? [])
58
+ toolNames.set(call.id, call.function.name);
56
59
  if (message.role === 'tool') {
57
60
  contents.push({
58
61
  role: 'user',
59
62
  parts: [{
60
63
  functionResponse: {
61
- name: message.name ?? '',
62
- response: JSON.parse(textContent(message.content) || '{}'),
64
+ name: message.name ?? toolNames.get(message.toolCallId ?? '') ?? '',
65
+ response: toolResult(textContent(message.content)),
63
66
  },
64
67
  }],
65
68
  });
@@ -121,6 +124,8 @@ export function parseGeminiResponse(data, fallbackModel) {
121
124
  : []);
122
125
  const promptTokens = response.usageMetadata?.promptTokenCount ?? 0;
123
126
  const completionTokens = response.usageMetadata?.candidatesTokenCount ?? 0;
127
+ // P1 #15: flag omitted usageMetadata so callers can distinguish real-zero from not-provided.
128
+ const hasUsage = response.usageMetadata !== undefined && response.usageMetadata !== null;
124
129
  return {
125
130
  id: '',
126
131
  model: fallbackModel,
@@ -136,7 +141,7 @@ export function parseGeminiResponse(data, fallbackModel) {
136
141
  completionTokens,
137
142
  totalTokens: response.usageMetadata?.totalTokenCount ?? promptTokens + completionTokens,
138
143
  },
139
- providerMetadata: data,
144
+ providerMetadata: hasUsage ? data : { ...data, usageUnavailable: true },
140
145
  };
141
146
  }
142
147
  export function parseGeminiStreamEvent(event, state, fallbackModel) {
@@ -191,4 +196,15 @@ export function parseGeminiModelsResponse(data) {
191
196
  const response = data;
192
197
  return (response.models ?? []).flatMap((model) => model.name ? [{ id: normalizeGeminiModelId(model.name), displayName: model.displayName }] : []);
193
198
  }
199
+ function toolResult(text) {
200
+ try {
201
+ const value = JSON.parse(text);
202
+ if (value && typeof value === 'object' && !Array.isArray(value))
203
+ return value;
204
+ return { result: value };
205
+ }
206
+ catch {
207
+ return { result: text };
208
+ }
209
+ }
194
210
  //# sourceMappingURL=wire.js.map
package/dist/wire.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"wire.js","sourceRoot":"","sources":["../src/wire.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wire.js","sourceRoot":"","sources":["../src/wire.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@you-want/polyllm-gemini",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "type": "module",
5
5
  "description": "PolyLLM Gemini (Google) provider plugin.",
6
6
  "license": "MIT",
@@ -26,7 +26,7 @@
26
26
  "CHANGELOG.md"
27
27
  ],
28
28
  "dependencies": {
29
- "@you-want/polyllm-core": "0.3.0"
29
+ "@you-want/polyllm-core": "0.4.0"
30
30
  },
31
31
  "devDependencies": {
32
32
  "@types/node": "^22.18.0",