mirror of
https://github.com/QwenLM/qwen-code.git
synced 2025-12-19 09:33:53 +00:00
refactor: rename ambiguous exported types
This commit is contained in:
@@ -12,20 +12,20 @@ export type {
|
||||
ThinkingBlock,
|
||||
ToolUseBlock,
|
||||
ToolResultBlock,
|
||||
CLIUserMessage,
|
||||
CLIAssistantMessage,
|
||||
CLISystemMessage,
|
||||
CLIResultMessage,
|
||||
CLIPartialAssistantMessage,
|
||||
CLIMessage,
|
||||
SDKUserMessage,
|
||||
SDKAssistantMessage,
|
||||
SDKSystemMessage,
|
||||
SDKResultMessage,
|
||||
SDKPartialAssistantMessage,
|
||||
SDKMessage,
|
||||
} from './types/protocol.js';
|
||||
|
||||
export {
|
||||
isCLIUserMessage,
|
||||
isCLIAssistantMessage,
|
||||
isCLISystemMessage,
|
||||
isCLIResultMessage,
|
||||
isCLIPartialAssistantMessage,
|
||||
isSDKUserMessage,
|
||||
isSDKAssistantMessage,
|
||||
isSDKSystemMessage,
|
||||
isSDKResultMessage,
|
||||
isSDKPartialAssistantMessage,
|
||||
} from './types/protocol.js';
|
||||
|
||||
export type {
|
||||
|
||||
@@ -13,19 +13,19 @@ const STREAM_CLOSE_TIMEOUT = 10000;
|
||||
import { randomUUID } from 'node:crypto';
|
||||
import { SdkLogger } from '../utils/logger.js';
|
||||
import type {
|
||||
CLIMessage,
|
||||
CLIUserMessage,
|
||||
SDKMessage,
|
||||
SDKUserMessage,
|
||||
CLIControlRequest,
|
||||
CLIControlResponse,
|
||||
ControlCancelRequest,
|
||||
PermissionSuggestion,
|
||||
} from '../types/protocol.js';
|
||||
import {
|
||||
isCLIUserMessage,
|
||||
isCLIAssistantMessage,
|
||||
isCLISystemMessage,
|
||||
isCLIResultMessage,
|
||||
isCLIPartialAssistantMessage,
|
||||
isSDKUserMessage,
|
||||
isSDKAssistantMessage,
|
||||
isSDKSystemMessage,
|
||||
isSDKResultMessage,
|
||||
isSDKPartialAssistantMessage,
|
||||
isControlRequest,
|
||||
isControlResponse,
|
||||
isControlCancel,
|
||||
@@ -52,12 +52,12 @@ interface TransportWithEndInput extends Transport {
|
||||
|
||||
const logger = SdkLogger.createLogger('Query');
|
||||
|
||||
export class Query implements AsyncIterable<CLIMessage> {
|
||||
export class Query implements AsyncIterable<SDKMessage> {
|
||||
private transport: Transport;
|
||||
private options: QueryOptions;
|
||||
private sessionId: string;
|
||||
private inputStream: Stream<CLIMessage>;
|
||||
private sdkMessages: AsyncGenerator<CLIMessage>;
|
||||
private inputStream: Stream<SDKMessage>;
|
||||
private sdkMessages: AsyncGenerator<SDKMessage>;
|
||||
private abortController: AbortController;
|
||||
private pendingControlRequests: Map<string, PendingControlRequest> =
|
||||
new Map();
|
||||
@@ -79,7 +79,7 @@ export class Query implements AsyncIterable<CLIMessage> {
|
||||
this.transport = transport;
|
||||
this.options = options;
|
||||
this.sessionId = randomUUID();
|
||||
this.inputStream = new Stream<CLIMessage>();
|
||||
this.inputStream = new Stream<SDKMessage>();
|
||||
this.abortController = options.abortController ?? new AbortController();
|
||||
this.isSingleTurn = singleTurn;
|
||||
|
||||
@@ -187,7 +187,7 @@ export class Query implements AsyncIterable<CLIMessage> {
|
||||
return;
|
||||
}
|
||||
|
||||
if (isCLISystemMessage(message)) {
|
||||
if (isSDKSystemMessage(message)) {
|
||||
/**
|
||||
* SystemMessage contains session info (cwd, tools, model, etc.)
|
||||
* that should be passed to user.
|
||||
@@ -196,7 +196,7 @@ export class Query implements AsyncIterable<CLIMessage> {
|
||||
return;
|
||||
}
|
||||
|
||||
if (isCLIResultMessage(message)) {
|
||||
if (isSDKResultMessage(message)) {
|
||||
if (this.firstResultReceivedResolve) {
|
||||
this.firstResultReceivedResolve();
|
||||
}
|
||||
@@ -212,16 +212,16 @@ export class Query implements AsyncIterable<CLIMessage> {
|
||||
}
|
||||
|
||||
if (
|
||||
isCLIAssistantMessage(message) ||
|
||||
isCLIUserMessage(message) ||
|
||||
isCLIPartialAssistantMessage(message)
|
||||
isSDKAssistantMessage(message) ||
|
||||
isSDKUserMessage(message) ||
|
||||
isSDKPartialAssistantMessage(message)
|
||||
) {
|
||||
this.inputStream.enqueue(message);
|
||||
return;
|
||||
}
|
||||
|
||||
logger.warn('Unknown message type:', message);
|
||||
this.inputStream.enqueue(message as CLIMessage);
|
||||
this.inputStream.enqueue(message as SDKMessage);
|
||||
}
|
||||
|
||||
private async handleControlRequest(
|
||||
@@ -560,29 +560,29 @@ export class Query implements AsyncIterable<CLIMessage> {
|
||||
logger.info('Query closed');
|
||||
}
|
||||
|
||||
private async *readSdkMessages(): AsyncGenerator<CLIMessage> {
|
||||
private async *readSdkMessages(): AsyncGenerator<SDKMessage> {
|
||||
for await (const message of this.inputStream) {
|
||||
yield message;
|
||||
}
|
||||
}
|
||||
|
||||
async next(...args: [] | [unknown]): Promise<IteratorResult<CLIMessage>> {
|
||||
async next(...args: [] | [unknown]): Promise<IteratorResult<SDKMessage>> {
|
||||
return this.sdkMessages.next(...args);
|
||||
}
|
||||
|
||||
async return(value?: unknown): Promise<IteratorResult<CLIMessage>> {
|
||||
async return(value?: unknown): Promise<IteratorResult<SDKMessage>> {
|
||||
return this.sdkMessages.return(value);
|
||||
}
|
||||
|
||||
async throw(e?: unknown): Promise<IteratorResult<CLIMessage>> {
|
||||
async throw(e?: unknown): Promise<IteratorResult<SDKMessage>> {
|
||||
return this.sdkMessages.throw(e);
|
||||
}
|
||||
|
||||
[Symbol.asyncIterator](): AsyncIterator<CLIMessage> {
|
||||
[Symbol.asyncIterator](): AsyncIterator<SDKMessage> {
|
||||
return this.sdkMessages;
|
||||
}
|
||||
|
||||
async streamInput(messages: AsyncIterable<CLIUserMessage>): Promise<void> {
|
||||
async streamInput(messages: AsyncIterable<SDKUserMessage>): Promise<void> {
|
||||
if (this.closed) {
|
||||
throw new Error('Query is closed');
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* Factory function for creating Query instances.
|
||||
*/
|
||||
|
||||
import type { CLIUserMessage } from '../types/protocol.js';
|
||||
import type { SDKUserMessage } from '../types/protocol.js';
|
||||
import { serializeJsonLine } from '../utils/jsonLines.js';
|
||||
import { ProcessTransport } from '../transport/ProcessTransport.js';
|
||||
import { parseExecutableSpec } from '../utils/cliPath.js';
|
||||
@@ -22,11 +22,11 @@ export function query({
|
||||
/**
|
||||
* The prompt to send to the Qwen Code CLI process.
|
||||
* - `string` for single-turn query,
|
||||
* - `AsyncIterable<CLIUserMessage>` for multi-turn query.
|
||||
* - `AsyncIterable<SDKUserMessage>` for multi-turn query.
|
||||
*
|
||||
* The transport will remain open until the prompt is done.
|
||||
*/
|
||||
prompt: string | AsyncIterable<CLIUserMessage>;
|
||||
prompt: string | AsyncIterable<SDKUserMessage>;
|
||||
/**
|
||||
* Configuration options for the query.
|
||||
*/
|
||||
@@ -67,7 +67,7 @@ export function query({
|
||||
|
||||
if (isSingleTurn) {
|
||||
const stringPrompt = prompt as string;
|
||||
const message: CLIUserMessage = {
|
||||
const message: SDKUserMessage = {
|
||||
type: 'user',
|
||||
session_id: queryInstance.getSessionId(),
|
||||
message: {
|
||||
@@ -87,7 +87,7 @@ export function query({
|
||||
})();
|
||||
} else {
|
||||
queryInstance
|
||||
.streamInput(prompt as AsyncIterable<CLIUserMessage>)
|
||||
.streamInput(prompt as AsyncIterable<SDKUserMessage>)
|
||||
.catch((err) => {
|
||||
logger.error('Error streaming input:', err);
|
||||
});
|
||||
|
||||
@@ -89,7 +89,7 @@ export interface APIAssistantMessage {
|
||||
usage: Usage;
|
||||
}
|
||||
|
||||
export interface CLIUserMessage {
|
||||
export interface SDKUserMessage {
|
||||
type: 'user';
|
||||
uuid?: string;
|
||||
session_id: string;
|
||||
@@ -98,7 +98,7 @@ export interface CLIUserMessage {
|
||||
options?: Record<string, unknown>;
|
||||
}
|
||||
|
||||
export interface CLIAssistantMessage {
|
||||
export interface SDKAssistantMessage {
|
||||
type: 'assistant';
|
||||
uuid: string;
|
||||
session_id: string;
|
||||
@@ -106,7 +106,7 @@ export interface CLIAssistantMessage {
|
||||
parent_tool_use_id: string | null;
|
||||
}
|
||||
|
||||
export interface CLISystemMessage {
|
||||
export interface SDKSystemMessage {
|
||||
type: 'system';
|
||||
subtype: string;
|
||||
uuid: string;
|
||||
@@ -133,7 +133,7 @@ export interface CLISystemMessage {
|
||||
};
|
||||
}
|
||||
|
||||
export interface CLIResultMessageSuccess {
|
||||
export interface SDKResultMessageSuccess {
|
||||
type: 'result';
|
||||
subtype: 'success';
|
||||
uuid: string;
|
||||
@@ -149,7 +149,7 @@ export interface CLIResultMessageSuccess {
|
||||
[key: string]: unknown;
|
||||
}
|
||||
|
||||
export interface CLIResultMessageError {
|
||||
export interface SDKResultMessageError {
|
||||
type: 'result';
|
||||
subtype: 'error_max_turns' | 'error_during_execution';
|
||||
uuid: string;
|
||||
@@ -169,7 +169,7 @@ export interface CLIResultMessageError {
|
||||
[key: string]: unknown;
|
||||
}
|
||||
|
||||
export type CLIResultMessage = CLIResultMessageSuccess | CLIResultMessageError;
|
||||
export type SDKResultMessage = SDKResultMessageSuccess | SDKResultMessageError;
|
||||
|
||||
export interface MessageStartStreamEvent {
|
||||
type: 'message_start';
|
||||
@@ -222,7 +222,7 @@ export type StreamEvent =
|
||||
| ContentBlockStopEvent
|
||||
| MessageStopStreamEvent;
|
||||
|
||||
export interface CLIPartialAssistantMessage {
|
||||
export interface SDKPartialAssistantMessage {
|
||||
type: 'stream_event';
|
||||
uuid: string;
|
||||
session_id: string;
|
||||
@@ -389,22 +389,22 @@ export type ControlMessage =
|
||||
| ControlCancelRequest;
|
||||
|
||||
/**
|
||||
* Union of all CLI message types
|
||||
* Union of all SDK message types
|
||||
*/
|
||||
export type CLIMessage =
|
||||
| CLIUserMessage
|
||||
| CLIAssistantMessage
|
||||
| CLISystemMessage
|
||||
| CLIResultMessage
|
||||
| CLIPartialAssistantMessage;
|
||||
export type SDKMessage =
|
||||
| SDKUserMessage
|
||||
| SDKAssistantMessage
|
||||
| SDKSystemMessage
|
||||
| SDKResultMessage
|
||||
| SDKPartialAssistantMessage;
|
||||
|
||||
export function isCLIUserMessage(msg: any): msg is CLIUserMessage {
|
||||
export function isSDKUserMessage(msg: any): msg is SDKUserMessage {
|
||||
return (
|
||||
msg && typeof msg === 'object' && msg.type === 'user' && 'message' in msg
|
||||
);
|
||||
}
|
||||
|
||||
export function isCLIAssistantMessage(msg: any): msg is CLIAssistantMessage {
|
||||
export function isSDKAssistantMessage(msg: any): msg is SDKAssistantMessage {
|
||||
return (
|
||||
msg &&
|
||||
typeof msg === 'object' &&
|
||||
@@ -416,7 +416,7 @@ export function isCLIAssistantMessage(msg: any): msg is CLIAssistantMessage {
|
||||
);
|
||||
}
|
||||
|
||||
export function isCLISystemMessage(msg: any): msg is CLISystemMessage {
|
||||
export function isSDKSystemMessage(msg: any): msg is SDKSystemMessage {
|
||||
return (
|
||||
msg &&
|
||||
typeof msg === 'object' &&
|
||||
@@ -427,7 +427,7 @@ export function isCLISystemMessage(msg: any): msg is CLISystemMessage {
|
||||
);
|
||||
}
|
||||
|
||||
export function isCLIResultMessage(msg: any): msg is CLIResultMessage {
|
||||
export function isSDKResultMessage(msg: any): msg is SDKResultMessage {
|
||||
return (
|
||||
msg &&
|
||||
typeof msg === 'object' &&
|
||||
@@ -440,9 +440,9 @@ export function isCLIResultMessage(msg: any): msg is CLIResultMessage {
|
||||
);
|
||||
}
|
||||
|
||||
export function isCLIPartialAssistantMessage(
|
||||
export function isSDKPartialAssistantMessage(
|
||||
msg: any,
|
||||
): msg is CLIPartialAssistantMessage {
|
||||
): msg is SDKPartialAssistantMessage {
|
||||
return (
|
||||
msg &&
|
||||
typeof msg === 'object' &&
|
||||
|
||||
Reference in New Issue
Block a user