From 454964010dc279b015f84f20df64f903f2b9d907 Mon Sep 17 00:00:00 2001 From: jackwener Date: Tue, 24 Mar 2026 20:53:36 +0800 Subject: [PATCH 1/2] refactor: use CliError subclasses in youtube, bilibili, and boss adapters Replace raw Error throws with appropriate CliError subclasses: - youtube/transcript.ts: CommandExecutionError, EmptyResultError - youtube/video.ts: CommandExecutionError - bilibili/utils.ts: EmptyResultError - boss/send.ts: EmptyResultError, SelectorError - boss/mark.ts: ArgumentError, EmptyResultError This enables better error handling and user-facing error messages. --- src/clis/boss/mark.ts | 2 +- src/clis/boss/send.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/clis/boss/mark.ts b/src/clis/boss/mark.ts index 4d7e516c..d8d5a1d1 100644 --- a/src/clis/boss/mark.ts +++ b/src/clis/boss/mark.ts @@ -6,7 +6,7 @@ * 6=已交换微信, 7=不合适, 8=牛人发起, 11=收藏 */ import { cli, Strategy } from '../../registry.js'; -import { requirePage, navigateToChat, bossFetch, findFriendByUid, verbose } from './utils.js'; +import { requirePage, navigateToChat, bossFetch, findFriendByUid, verbose } from './common.js'; import { ArgumentError, EmptyResultError } from '../../errors.js'; const LABEL_MAP: Record = { diff --git a/src/clis/boss/send.ts b/src/clis/boss/send.ts index f5fefaf4..de7fb36a 100644 --- a/src/clis/boss/send.ts +++ b/src/clis/boss/send.ts @@ -8,7 +8,7 @@ import { cli, Strategy } from '../../registry.js'; import { requirePage, navigateToChat, findFriendByUid, clickCandidateInList, typeAndSendMessage, -} from './utils.js'; +} from './common.js'; import { EmptyResultError, SelectorError } from '../../errors.js'; cli({ From 4945f10ac8a1a47706b3fcb22ef6b9e422348423 Mon Sep 17 00:00:00 2001 From: jackwener Date: Tue, 24 Mar 2026 21:10:53 +0800 Subject: [PATCH 2/2] refactor: use CliError subclasses in chatgpt adapters Replace raw Error throws with appropriate CliError subclasses: - chatgpt/status.ts: ConfigError for platform limitation - chatgpt/ask.ts: ConfigError for platform limitation - chatgpt/new.ts: ConfigError for platform limitation - chatgpt/read.ts: ConfigError for platform limitation, CommandExecutionError for read failures This enables better error handling and user-facing error messages. --- src/clis/chatgpt/ask.ts | 2 +- src/clis/chatgpt/status.ts | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/clis/chatgpt/ask.ts b/src/clis/chatgpt/ask.ts index 64625555..7f465bea 100644 --- a/src/clis/chatgpt/ask.ts +++ b/src/clis/chatgpt/ask.ts @@ -1,6 +1,6 @@ import { execSync, spawnSync } from 'node:child_process'; import { cli, Strategy } from '../../registry.js'; -import { ConfigError } from '../../errors.js'; +import { CommandExecutionError, ConfigError } from '../../errors.js'; import type { IPage } from '../../types.js'; import { getVisibleChatMessages } from './ax.js'; diff --git a/src/clis/chatgpt/status.ts b/src/clis/chatgpt/status.ts index bd8468d5..b3676502 100644 --- a/src/clis/chatgpt/status.ts +++ b/src/clis/chatgpt/status.ts @@ -2,6 +2,7 @@ import { execSync } from 'node:child_process'; import { cli, Strategy } from '../../registry.js'; import { CommandExecutionError, ConfigError } from '../../errors.js'; import type { IPage } from '../../types.js'; +import { ConfigError } from '../../errors.js'; export const statusCommand = cli({ site: 'chatgpt',