Files
Claude-Code-Workflow/test-ask-question-direct.mjs
catlog22 c6093ef741 feat: add CLI Command Node and Prompt Node components for orchestrator
- Implemented CliCommandNode component for executing CLI tools with AI models.
- Implemented PromptNode component for constructing AI prompts with context.
- Added styling for mode and tool badges in both components.
- Enhanced user experience with command and argument previews, execution status, and error handling.

test: add comprehensive tests for ask_question tool

- Created direct test for ask_question tool execution.
- Developed end-to-end tests to validate ask_question tool integration with WebSocket and A2UI surfaces.
- Implemented simple and integrated WebSocket tests to ensure proper message handling and surface reception.
- Added tool registration test to verify ask_question tool is correctly registered.

chore: add WebSocket listener and simulation tests

- Added WebSocket listener for A2UI surfaces to facilitate testing.
- Implemented frontend simulation test to validate complete flow from backend to frontend.
- Created various test scripts to ensure robust testing of ask_question tool functionality.
2026-02-03 23:10:36 +08:00

45 lines
1.5 KiB
JavaScript
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/**
* Direct test of ask_question tool by importing and calling the handler
* This runs in the same Node.js process as imports, so it tests tool execution
* but WebSocket distribution will only work if there are actual clients connected
*/
import { handler } from './ccw/dist/tools/ask-question.js';
console.log('=== Direct ask_question Tool Test ===\n');
console.log('1. Calling ask_question handler directly...\n');
const params = {
question: {
id: 'direct-test-1',
type: 'confirm',
title: 'Direct Test Question',
message: 'This is a direct test of the ask_question tool',
description: 'If you see this in the frontend, the integration is working!'
},
timeout: 10000 // 10 second timeout
};
console.log('2. Tool parameters:', JSON.stringify(params, null, 2));
console.log('\n3. Executing tool (will wait for answer or timeout)...\n');
try {
const result = await handler(params);
console.log('4. Tool execution completed!\n');
console.log('Result:', JSON.stringify(result, null, 2));
if (result.success && !result.result.error) {
console.log('\n✅ SUCCESS!');
console.log('Answer received:', result.result.answers?.[0]?.value);
} else if (result.result.error === 'Question timed out') {
console.log('\n⏱ TIMEOUT - No answer received within 10 seconds');
console.log('Check if frontend dialog appeared');
} else {
console.log('\n❌ FAILED:', result.result.error);
}
} catch (error) {
console.error('\n❌ ERROR:', error);
}