Download packages/kap-server/src/protocol/question-wire.ts from SaylorTwift/kimi-code: direct link, hf CLI and curl.
- Browser
- Download file 1.9 kB
-
https://huggingface.co/SaylorTwift/kimi-code/resolve/main/packages/kap-server/src/protocol/question-wire.ts
- Command line
-
hf download hf://SaylorTwift/kimi-code/packages/kap-server/src/protocol/question-wire.ts
-
curl -L -o question-wire.ts https://huggingface.co/SaylorTwift/kimi-code/resolve/main/packages/kap-server/src/protocol/question-wire.ts
1.9 kB
| import type { | |
| QuestionItem, | |
| QuestionOption, | |
| QuestionRequest, | |
| } from '@moonshot-ai/agent-core-v2'; | |
| import type { | |
| QuestionItem as ProtocolQuestionItem, | |
| QuestionOption as ProtocolQuestionOption, | |
| QuestionRequest as ProtocolQuestionRequest, | |
| } from './question'; | |
| export interface WireQuestionSource { | |
| readonly id: string; | |
| readonly createdAt: number; | |
| readonly payload: unknown; | |
| } | |
| function buildOption(opt: QuestionOption, itemIdx: number, optIdx: number): ProtocolQuestionOption { | |
| const base: ProtocolQuestionOption = { id: `opt_${itemIdx}_${optIdx}`, label: opt.label }; | |
| return opt.description === undefined ? base : { ...base, description: opt.description }; | |
| } | |
| function buildItem(item: QuestionItem, itemIdx: number): ProtocolQuestionItem { | |
| const out: ProtocolQuestionItem = { | |
| id: `q_${itemIdx}`, | |
| question: item.question, | |
| options: item.options.map((o, oi) => buildOption(o, itemIdx, oi)), | |
| }; | |
| if (item.header !== undefined) out.header = item.header; | |
| if (item.body !== undefined) out.body = item.body; | |
| if (item.multiSelect !== undefined) out.multi_select = item.multiSelect; | |
| out.allow_other = true; | |
| if (item.otherLabel !== undefined) out.other_label = item.otherLabel; | |
| if (item.otherDescription !== undefined) out.other_description = item.otherDescription; | |
| return out; | |
| } | |
| export function toWireQuestion( | |
| interaction: WireQuestionSource, | |
| sessionId: string, | |
| ): ProtocolQuestionRequest { | |
| const req = interaction.payload as QuestionRequest; | |
| const createdAt = new Date(interaction.createdAt).toISOString(); | |
| const out: ProtocolQuestionRequest = { | |
| question_id: interaction.id, | |
| session_id: sessionId, | |
| questions: req.questions.map((q, i) => buildItem(q, i)), | |
| created_at: createdAt, | |
| }; | |
| if (req.turnId !== undefined) out.turn_id = req.turnId; | |
| if (req.toolCallId !== undefined) out.tool_call_id = req.toolCallId; | |
| return out; | |
| } | |