claude-code-best/src/server/__tests__
林凯90331 0b36424820 feat(server/question): adapt question API to opencode-compatible format
Refactor csc serve question endpoints to match opencode/app-ai-native
expected data models and request/response shapes:

- GET /question now returns QuestionRequest[] (direct array) instead of
  { questions: [...] }
- POST /question/:id/reply accepts { answers: string[][] } mapping to
  selected option labels per question
- POST /question/:id/reject no longer requires a request body
- Support dual question sources:
  - MCP Elicitation (converted to opencode format with enum→options)
  - AskUserQuestionTool permissions exposed as questions
- Add conversion helpers: convertAskUserQuestionToOpencode,
  convertElicitationToOpencode, buildElicitationContent
- Reply to AskUserQuestionTool via replyPermission('allow') with
  constructed updatedInput.answers map

Also includes serve-mode infrastructure improvements:
- Session routes auto-create sessions on demand via getOrCreateSession
- Set CSC_SERVE_MODE env var in child process spawn
- Skip push-suggestion stream waiting in serve mode

Add comprehensive unit tests for question route opencode conversion.

Co-authored-by: CoStrict <zgsm@sangfor.com.cn>
2026-05-09 17:52:43 +08:00
..
errors.test.ts test: 添加 server 模块单元测试 2026-05-06 14:32:55 +08:00
eventBus.test.ts test: 添加 server 模块单元测试 2026-05-06 14:32:55 +08:00
questionRoutes.test.ts feat(server/question): adapt question API to opencode-compatible format 2026-05-09 17:52:43 +08:00
sessionHandle.test.ts fix: 修复 serve 模式 SSE 事件流、权限响应、协议对齐 2026-05-08 16:59:45 +08:00
sessionManager.test.ts test: 添加 server 模块单元测试 2026-05-06 14:32:55 +08:00
transcriptReader.test.ts test: 添加 server 模块单元测试 2026-05-06 14:32:55 +08:00