refactor: migrate checks.ts utility to core and deduplicate (#18139)

This commit is contained in:
Jerop Kipruto
2026-02-02 19:32:13 -05:00
committed by GitHub
parent c159c85c89
commit 09beb648b8
11 changed files with 17 additions and 18 deletions

View File

@@ -14,14 +14,14 @@ import { type HistoryItem } from '../types.js';
import { convertSessionToHistoryFormats } from '../hooks/useSessionBrowser.js';
import { revertFileChanges } from '../utils/rewindFileOps.js';
import { RewindOutcome } from '../components/RewindConfirmation.js';
import { checkExhaustive } from '../../utils/checks.js';
import type { Content } from '@google/genai';
import type {
ChatRecordingService,
GeminiClient,
import {
checkExhaustive,
coreEvents,
debugLogger,
type ChatRecordingService,
type GeminiClient,
} from '@google/gemini-cli-core';
import { coreEvents, debugLogger } from '@google/gemini-cli-core';
/**
* Helper function to handle the core logic of rewinding a conversation.

View File

@@ -21,7 +21,7 @@ import type { SelectionListItem } from '../hooks/useSelectionList.js';
import { TabHeader, type Tab } from './shared/TabHeader.js';
import { useKeypress, type Key } from '../hooks/useKeypress.js';
import { keyMatchers, Command } from '../keyMatchers.js';
import { checkExhaustive } from '../../utils/checks.js';
import { checkExhaustive } from '@google/gemini-cli-core';
import { TextInput } from './shared/TextInput.js';
import { useTextBuffer } from './shared/text-buffer.js';
import { getCachedStringWidth } from '../utils/textUtils.js';

View File

@@ -7,7 +7,7 @@
import type React from 'react';
import { Box, Text } from 'ink';
import { theme } from '../semantic-colors.js';
import { checkExhaustive } from '../../utils/checks.js';
import { checkExhaustive } from '@google/gemini-cli-core';
export type ChecklistStatus =
| 'pending'

View File

@@ -19,7 +19,7 @@ import {
findWordEndInLine,
} from './text-buffer.js';
import { cpLen, toCodePoints } from '../../utils/textUtils.js';
import { assumeExhaustive } from '../../../utils/checks.js';
import { assumeExhaustive } from '@google/gemini-cli-core';
// Check if we're at the end of a base word (on the last base character)
// Returns true if current position has a base character followed only by combining marks until non-word

View File

@@ -18,7 +18,7 @@ import {
type IndividualToolCallDisplay,
} from '../types.js';
import { checkExhaustive } from '../../utils/checks.js';
import { checkExhaustive } from '@google/gemini-cli-core';
export function mapCoreStatusToDisplayStatus(
coreStatus: CoreStatus,

View File

@@ -19,7 +19,7 @@ import {
updateExtension,
} from '../../config/extensions/update.js';
import { type ExtensionUpdateInfo } from '../../config/extension.js';
import { checkExhaustive } from '../../utils/checks.js';
import { checkExhaustive } from '@google/gemini-cli-core';
import type { ExtensionManager } from '../../config/extension-manager.js';
type ConfirmationRequestWrapper = {

View File

@@ -5,7 +5,7 @@
*/
import type { ExtensionUpdateInfo } from '../../config/extension.js';
import { checkExhaustive } from '../../utils/checks.js';
import { checkExhaustive } from '@google/gemini-cli-core';
export enum ExtensionUpdateState {
CHECKING_FOR_UPDATES = 'checking for updates',

View File

@@ -4,20 +4,18 @@
* SPDX-License-Identifier: Apache-2.0
*/
import type {
Config,
ConversationRecord,
MessageRecord,
} from '@google/gemini-cli-core';
import {
checkExhaustive,
partListUnionToString,
SESSION_FILE_PREFIX,
type Config,
type ConversationRecord,
type MessageRecord,
} from '@google/gemini-cli-core';
import * as fs from 'node:fs/promises';
import path from 'node:path';
import { stripUnsafeCharacters } from '../ui/utils/textUtils.js';
import type { Part } from '@google/genai';
import { checkExhaustive } from './checks.js';
import {
MessageType,
ToolCallStatus,

View File

@@ -56,6 +56,7 @@ export * from './core/apiKeyCredentialStorage.js';
// Export utilities
export { homedir, tmpdir } from './utils/paths.js';
export * from './utils/paths.js';
export * from './utils/checks.js';
export * from './utils/schemaValidator.js';
export * from './utils/errors.js';
export * from './utils/exitCodes.js';