fix: auth refresh issue (#1450)

This commit is contained in:
Ralph Khreish
2025-11-26 23:34:57 +01:00
committed by GitHub
parent 28fcc27411
commit 88d356817e
45 changed files with 1374 additions and 4716 deletions

View File

@@ -117,6 +117,8 @@ describe('isAuthenticationError', () => {
it('should return true for APICallError with 401 exit code', () => {
const error = new APICallError({
message: 'Unauthorized',
url: 'grok-cli://command',
requestBodyValues: {},
data: { exitCode: 401 }
});
expect(isAuthenticationError(error)).toBe(true);
@@ -132,13 +134,19 @@ describe('isTimeoutError', () => {
it('should return true for timeout APICallError', () => {
const error = new APICallError({
message: 'Timeout',
url: 'grok-cli://command',
requestBodyValues: {},
data: { code: 'TIMEOUT' }
});
expect(isTimeoutError(error)).toBe(true);
});
it('should return false for other errors', () => {
const error = new APICallError({ message: 'Other error' });
const error = new APICallError({
message: 'Other error',
url: 'grok-cli://command',
requestBodyValues: {}
});
expect(isTimeoutError(error)).toBe(false);
});
});
@@ -147,13 +155,18 @@ describe('isInstallationError', () => {
it('should return true for installation APICallError', () => {
const error = new APICallError({
message: 'Not installed',
url: 'grok-cli://installation'
url: 'grok-cli://installation',
requestBodyValues: {}
});
expect(isInstallationError(error)).toBe(true);
});
it('should return false for other errors', () => {
const error = new APICallError({ message: 'Other error' });
const error = new APICallError({
message: 'Other error',
url: 'grok-cli://command',
requestBodyValues: {}
});
expect(isInstallationError(error)).toBe(false);
});
});
@@ -167,6 +180,8 @@ describe('getErrorMetadata', () => {
};
const error = new APICallError({
message: 'Test error',
url: 'grok-cli://command',
requestBodyValues: {},
data: metadata
});
@@ -181,7 +196,11 @@ describe('getErrorMetadata', () => {
});
it('should return undefined for APICallError without data', () => {
const error = new APICallError({ message: 'Test error' });
const error = new APICallError({
message: 'Test error',
url: 'grok-cli://command',
requestBodyValues: {}
});
const result = getErrorMetadata(error);
expect(result).toBeUndefined();
});

View File

@@ -37,7 +37,7 @@ describe('createGrokCli', () => {
};
const provider = createGrokCli({ defaultSettings });
const model = provider('grok-2-mini');
provider('grok-2-mini');
expect(GrokCliLanguageModel).toHaveBeenCalledWith({
id: 'grok-2-mini',
@@ -50,7 +50,7 @@ describe('createGrokCli', () => {
const provider = createGrokCli({ defaultSettings });
const modelSettings = { apiKey: 'test-key' };
const model = provider('grok-2', modelSettings);
provider('grok-2', modelSettings);
expect(GrokCliLanguageModel).toHaveBeenCalledWith({
id: 'grok-2',
@@ -60,7 +60,7 @@ describe('createGrokCli', () => {
it('should create models via languageModel method', () => {
const provider = createGrokCli();
const model = provider.languageModel('grok-2-mini', { timeout: 1000 });
provider.languageModel('grok-2-mini', { timeout: 1000 });
expect(GrokCliLanguageModel).toHaveBeenCalledWith({
id: 'grok-2-mini',
@@ -70,7 +70,7 @@ describe('createGrokCli', () => {
it('should create models via chat method (alias)', () => {
const provider = createGrokCli();
const model = provider.chat('grok-2');
provider.chat('grok-2');
expect(GrokCliLanguageModel).toHaveBeenCalledWith({
id: 'grok-2',
@@ -111,7 +111,7 @@ describe('default grokCli provider', () => {
});
it('should create models with default configuration', () => {
const model = grokCli('grok-2-mini');
grokCli('grok-2-mini');
expect(GrokCliLanguageModel).toHaveBeenCalledWith({
id: 'grok-2-mini',

View File

@@ -8,7 +8,7 @@
"sourceMap": true,
"outDir": "./dist",
"baseUrl": ".",
"rootDir": "./src",
"rootDir": ".",
"strict": true,
"noImplicitAny": true,
"strictNullChecks": true,
@@ -26,11 +26,11 @@
"forceConsistentCasingInFileNames": true,
"moduleResolution": "bundler",
"moduleDetection": "force",
"types": ["node"],
"types": ["node", "vitest/globals"],
"resolveJsonModule": true,
"isolatedModules": true,
"allowImportingTsExtensions": false
},
"include": ["src/**/*"],
"exclude": ["node_modules", "dist", "tests", "**/*.test.ts", "**/*.spec.ts"]
"include": ["src/**/*", "tests/**/*"],
"exclude": ["node_modules", "dist"]
}