refactor: improve type safety and code quality for 9.0 score
Type Safety Improvements: - Add isErrorResult() type guard for API responses (domain-tool.ts) - Replace `any` with `unknown` in executeTool args (tools/index.ts) - Add JSON.parse error handling in function calling (openai-service.ts) - Fix nullable price handling with nullish coalescing - Add array type guard for nameservers validation Code Quality Improvements: - Extract convertNamecheapDate() to eliminate duplicate functions - Move hardcoded bank account info to environment variables - Add JSDoc documentation to executeDepositFunction - Fix unused variables in optimistic-lock.ts - Handle Error.captureStackTrace for Workers environment All TypeScript strict mode checks now pass. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -130,7 +130,16 @@ export async function generateOpenAIResponse(
|
||||
// 도구 호출 결과 수집
|
||||
const toolResults: OpenAIMessage[] = [];
|
||||
for (const toolCall of assistantMessage.tool_calls) {
|
||||
const args = JSON.parse(toolCall.function.arguments);
|
||||
let args: Record<string, unknown>;
|
||||
try {
|
||||
args = JSON.parse(toolCall.function.arguments);
|
||||
} catch (parseError) {
|
||||
logger.error('Failed to parse tool arguments', parseError as Error, {
|
||||
toolName: toolCall.function.name,
|
||||
raw: toolCall.function.arguments.slice(0, 200) // 일부만 로깅
|
||||
});
|
||||
continue; // 다음 tool call로 진행
|
||||
}
|
||||
const result = await executeTool(toolCall.function.name, args, env, telegramUserId, db);
|
||||
|
||||
// __KEYBOARD__ 마커가 있으면 AI 재해석 없이 바로 반환 (버튼 보존)
|
||||
|
||||
Reference in New Issue
Block a user