fix: identify OpenCode Go requests by session

This commit is contained in:
Bohdan Triapitsyn
2026-09-03 11:49:35 +03:00
parent 76128b615f
commit 85bf0a99de
15 changed files with 55 additions and 8 deletions
@@ -37,6 +37,7 @@ export const fetchOpenCodeGoUsage = async (apiKey, fetchImpl = fetch) => {
headers: {
Accept: 'application/json',
Authorization: `Bearer ${apiKey}`,
'x-opencode-session': 'openchamber-usage',
'User-Agent': 'OpenChamber quota provider',
},
signal: AbortSignal.timeout(15_000),
@@ -43,7 +43,11 @@ describe('OpenCode Go quota provider', () => {
return new Response(JSON.stringify({ usage: { rolling: { percent: 25, resetsAt: '2026-08-12T12:00:00.000Z' } } }));
});
expect(request.url).toBe('https://opencode.ai/zen/go/v1/usage');
expect(request.options.headers).toMatchObject({ Accept: 'application/json', Authorization: 'Bearer secret' });
expect(request.options.headers).toMatchObject({
Accept: 'application/json',
Authorization: 'Bearer secret',
'x-opencode-session': 'openchamber-usage',
});
expect(request.options.headers.Cookie).toBeUndefined();
expect(usage['5h'].usedPercent).toBe(25);
});