mirror of
https://github.com/QwenLM/qwen-code.git
synced 2025-12-19 09:33:53 +00:00
57 lines
1.4 KiB
TypeScript
57 lines
1.4 KiB
TypeScript
/**
|
|
* @license
|
|
* Copyright 2025 Qwen Team
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
/**
|
|
* Hook Controller
|
|
*
|
|
* Handles hook-related control requests:
|
|
* - hook_callback: Process hook callbacks (placeholder for future)
|
|
*/
|
|
|
|
import { BaseController } from './baseController.js';
|
|
import type {
|
|
ControlRequestPayload,
|
|
CLIHookCallbackRequest,
|
|
} from '../../types.js';
|
|
|
|
export class HookController extends BaseController {
|
|
/**
|
|
* Handle hook control requests
|
|
*/
|
|
protected async handleRequestPayload(
|
|
payload: ControlRequestPayload,
|
|
_signal: AbortSignal,
|
|
): Promise<Record<string, unknown>> {
|
|
switch (payload.subtype) {
|
|
case 'hook_callback':
|
|
return this.handleHookCallback(payload as CLIHookCallbackRequest);
|
|
|
|
default:
|
|
throw new Error(`Unsupported request subtype in HookController`);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Handle hook_callback request
|
|
*
|
|
* Processes hook callbacks (placeholder implementation)
|
|
*/
|
|
private async handleHookCallback(
|
|
payload: CLIHookCallbackRequest,
|
|
): Promise<Record<string, unknown>> {
|
|
if (this.context.debugMode) {
|
|
console.error(`[HookController] Hook callback: ${payload.callback_id}`);
|
|
}
|
|
|
|
// Hook callback processing not yet implemented
|
|
return {
|
|
result: 'Hook callback processing not yet implemented',
|
|
callback_id: payload.callback_id,
|
|
tool_use_id: payload.tool_use_id,
|
|
};
|
|
}
|
|
}
|