(req: RawRequest, resp: RawRequest['response'], result: RawRequest['result'])
| 372 | } |
| 373 | |
| 374 | function extractRequestVariables(req: RawRequest, resp: RawRequest['response'], result: RawRequest['result']): { |
| 375 | variableKinds: Record<string, number>; |
| 376 | customInstructions: string[]; |
| 377 | skillsUsed: string[]; |
| 378 | toolsUsed: string[]; |
| 379 | editedFiles: string[]; |
| 380 | referencedFiles: string[]; |
| 381 | toolConfirmations: ToolConfirmation[]; |
| 382 | } { |
| 383 | const vd = req.variableData || {}; |
| 384 | const vdVars = (typeof vd === 'object' ? vd.variables : []) || []; |
| 385 | return { |
| 386 | variableKinds: extractVariableKinds(vdVars), |
| 387 | customInstructions: extractCustomInstructions(req.contentReferences), |
| 388 | skillsUsed: extractSkillsUsed(vdVars, result), |
| 389 | toolsUsed: extractToolsUsed(result), |
| 390 | editedFiles: extractEditedFiles(req.editedFileEvents), |
| 391 | referencedFiles: extractReferencedFiles(vdVars), |
| 392 | toolConfirmations: extractToolConfirmations(resp), |
| 393 | }; |
| 394 | } |
| 395 | |
| 396 | function extractResultMetadata(result: RawRequest['result']): ParsedResultMetadata { |
| 397 | const resultObj: Record<string, unknown> | null = typeof result === 'object' && result ? result : null; |
no test coverage detected