Skip to content

Commit a26b07b

Browse files
committed
完善注释
1 parent 9982181 commit a26b07b

4 files changed

Lines changed: 64 additions & 41 deletions

File tree

packages/@ant/claude-for-chrome-mcp/src/types.ts

Lines changed: 47 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,65 +1,83 @@
1-
/** Optional util.format detail; call sites pass caught exceptions. */
1+
/**
2+
* Logger 第二参数的可选类型。
3+
* 调用方通过 util.format 追加详情,实践中多为 catch 到的异常对象。
4+
*/
25
export type LoggerDetail = Error | NodeJS.ErrnoException
36

7+
/** 将 unknown 收窄为 LoggerDetail,供 catch 块传给 logger 使用。 */
48
export function toLoggerDetail(detail: unknown): LoggerDetail | undefined {
59
return detail instanceof Error ? detail : undefined
610
}
711

12+
/** 宿主注入的日志接口,与 DebugLogger(util.format)对齐。 */
813
export interface Logger {
9-
info: (message: string, detail?: LoggerDetail) => void
10-
error: (message: string, detail?: LoggerDetail) => void
11-
warn: (message: string, detail?: LoggerDetail) => void
12-
debug: (message: string, detail?: LoggerDetail) => void
13-
silly: (message: string, detail?: LoggerDetail) => void
14+
info: (message: string, detail?: LoggerDetail) => void // 信息
15+
error: (message: string, detail?: LoggerDetail) => void // 错误
16+
warn: (message: string, detail?: LoggerDetail) => void // 警告
17+
debug: (message: string, detail?: LoggerDetail) => void // 调试
18+
silly: (message: string, detail?: LoggerDetail) => void // 最细粒度调试
1419
}
1520

21+
/**
22+
* Bridge 连接失败时的 error_type 枚举。
23+
* 由 bridgeClient 在 getUserId / getOAuthToken / WebSocket 创建失败时上报。
24+
*/
1625
export type ChromeBridgeConnectionErrorType =
17-
| 'no_user_id'
18-
| 'no_oauth_token'
19-
| 'websocket_error'
26+
| 'no_user_id' // 无法获取用户 UUID
27+
| 'no_oauth_token' // 无法获取 OAuth token
28+
| 'websocket_error' // WebSocket 创建或运行异常
2029

21-
/** Metadata shapes emitted by bridgeClient trackEvent calls. */
30+
/** 工具调用相关遥测元数据(started / completed / timeout / error)。 */
2231
export type ChromeBridgeToolCallMetadata = {
23-
tool_name: string
24-
tool_use_id: string
25-
duration_ms?: number
26-
timeout_ms?: number
27-
error_message?: string
32+
tool_name: string // MCP 工具名
33+
tool_use_id: string // 本次调用的 UUID
34+
duration_ms?: number // 耗时(毫秒)
35+
timeout_ms?: number // 超时阈值(毫秒),仅 timeout 事件
36+
error_message?: string // 错误摘要(截断),仅 error 事件
2837
}
2938

39+
/** Bridge 连接失败遥测元数据。 */
3040
export type ChromeBridgeConnectionFailedMetadata = {
31-
duration_ms: number
32-
error_type: ChromeBridgeConnectionErrorType
33-
reconnect_attempt: number
41+
duration_ms: number // 自连接开始到失败的耗时(毫秒)
42+
error_type: ChromeBridgeConnectionErrorType // 失败原因分类
43+
reconnect_attempt: number // 当前重连尝试次数
3444
}
3545

46+
/** Bridge 开始连接遥测元数据。 */
3647
export type ChromeBridgeConnectionStartedMetadata = {
37-
bridge_url: string
48+
bridge_url: string // 目标 WebSocket URL(含用户路径)
3849
}
3950

51+
/** Bridge 断开连接遥测元数据。 */
4052
export type ChromeBridgeDisconnectedMetadata = {
41-
close_code: number
42-
duration_since_connect_ms: number
43-
reconnect_attempt: number
53+
close_code: number // WebSocket 关闭码
54+
duration_since_connect_ms: number // 自连接成功到断开的时长(毫秒)
55+
reconnect_attempt: number // 即将进行的重连序号
4456
}
4557

58+
/** Bridge 连接成功遥测元数据。 */
4659
export type ChromeBridgeConnectionSucceededMetadata = {
47-
duration_ms: number
48-
status: 'paired' | 'waiting'
60+
duration_ms: number // 自开始到连接就绪的耗时(毫秒)
61+
status: 'paired' | 'waiting' // paired=已配对扩展;waiting=等待扩展接入
4962
}
5063

64+
/** Bridge 重连次数耗尽遥测元数据。 */
5165
export type ChromeBridgeReconnectExhaustedMetadata = {
52-
total_attempts: number
66+
total_attempts: number // 累计重连次数上限
5367
}
5468

69+
/**
70+
* trackEvent 回调的 metadata 联合类型。
71+
* 各变体对应 bridgeClient 内 chrome_bridge_* 事件;null 表示无附加字段。
72+
*/
5573
export type ChromeBridgeTrackEventMetadata =
5674
| ChromeBridgeToolCallMetadata
5775
| ChromeBridgeConnectionFailedMetadata
5876
| ChromeBridgeConnectionStartedMetadata
5977
| ChromeBridgeDisconnectedMetadata
6078
| ChromeBridgeConnectionSucceededMetadata
6179
| ChromeBridgeReconnectExhaustedMetadata
62-
| null
80+
| null // 无元数据(如 peer_connected / peer_disconnected)
6381

6482
export type PermissionMode =
6583
| 'ask'
@@ -103,10 +121,10 @@ export interface ClaudeForChromeContext {
103121
bridgeConfig?: BridgeConfig
104122
/** If set, permission mode is sent to the extension immediately on bridge connection. */
105123
initialPermissionMode?: PermissionMode
106-
/** Optional callback to track telemetry events for bridge connections */
124+
/** Bridge 遥测回调;eventName 为 chrome_bridge_* 事件名 */
107125
trackEvent?: (
108-
eventName: string,
109-
metadata: ChromeBridgeTrackEventMetadata,
126+
eventName: string, // 事件名
127+
metadata: ChromeBridgeTrackEventMetadata, // 事件元数据
110128
) => void
111129
/** Called when user pairs with an extension via the browser pairing flow. */
112130
onExtensionPaired?: (deviceId: string, name: string) => void

packages/@ant/computer-use-mcp/src/types.ts

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,19 +8,24 @@ import type {
88
* cross-respawn `scaleCoord` survival. */
99
export type ScreenshotDims = Omit<ScreenshotResult, 'base64'>
1010

11-
/** Shape mirrors claude-for-chrome-mcp/src/types.ts Logger */
11+
/**
12+
* Logger 第二参数的可选类型(与 claude-for-chrome-mcp 对齐)。
13+
* 实践中多为 catch 到的 Error。
14+
*/
1215
export type LoggerDetail = Error | NodeJS.ErrnoException
1316

17+
/** 将 unknown 收窄为 LoggerDetail,供 catch 块传给 logger 使用。 */
1418
export function toLoggerDetail(detail: unknown): LoggerDetail | undefined {
1519
return detail instanceof Error ? detail : undefined
1620
}
1721

22+
/** 宿主注入的日志接口(与 claude-for-chrome-mcp/src/types.ts 对齐)。 */
1823
export interface Logger {
19-
info: (message: string, detail?: LoggerDetail) => void
20-
error: (message: string, detail?: LoggerDetail) => void
21-
warn: (message: string, detail?: LoggerDetail) => void
22-
debug: (message: string, detail?: LoggerDetail) => void
23-
silly: (message: string, detail?: LoggerDetail) => void
24+
info: (message: string, detail?: LoggerDetail) => void // 信息
25+
error: (message: string, detail?: LoggerDetail) => void // 错误
26+
warn: (message: string, detail?: LoggerDetail) => void // 警告
27+
debug: (message: string, detail?: LoggerDetail) => void // 调试
28+
silly: (message: string, detail?: LoggerDetail) => void // 最细粒度调试
2429
}
2530

2631
/**

packages/@ant/ink/src/core/dom.ts

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -46,10 +46,9 @@ export type DOMElement = {
4646
dirty: boolean
4747
// Set by the reconciler's hideInstance/unhideInstance; survives style updates.
4848
isHidden?: boolean
49-
// Event handlers set by the reconciler for the capture/bubble dispatcher.
50-
// Stored separately from attributes so handler identity changes don't
51-
// mark dirty and defeat the blit optimization.
52-
_eventHandlers?: Partial<EventHandlerProps>
49+
// 协调器写入的事件处理器(捕获/冒泡分发用)。
50+
// 与 attributes 分离,避免 handler 引用变化触发 dirty 破坏 blit 优化。
51+
_eventHandlers?: Partial<EventHandlerProps> // 见 event-handlers.ts EventHandlerProps
5352

5453
// Scroll state for overflow: 'scroll' boxes. scrollTop is the number of
5554
// rows the content is scrolled down by. scrollHeight/scrollViewportHeight

packages/@ant/ink/src/core/events/terminal-event.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,8 @@ export class TerminalEvent extends Event {
103103

104104
import type { EventHandlerProps } from './event-handlers.js'
105105

106+
/** 终端事件系统的目标节点(DOM 树节点或根节点)。 */
106107
export type EventTarget = {
107-
parentNode: EventTarget | undefined
108-
_eventHandlers?: Partial<EventHandlerProps>
108+
parentNode: EventTarget | undefined // 父节点,根节点为 undefined
109+
_eventHandlers?: Partial<EventHandlerProps> // 事件处理器,与 dom.ts DOMElement 同构
109110
}

0 commit comments

Comments
 (0)