docs: update documentation and add server schema

- Update CLAUDE.md with server provisioning docs
- Add server tables to schema.sql (cloud_providers, instance_specs, etc.)
- Register manage_server tool in tools/index.ts
- Minor fixes to conversation-service and summary-service

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
kappa
2026-01-24 21:41:14 +09:00
parent 6563ee0650
commit 43419a8025
7 changed files with 126 additions and 8 deletions

View File

@@ -54,15 +54,22 @@ export class ConversationService {
// 키보드 데이터 파싱
let keyboardData: KeyboardData | null = null;
const keyboardMatch = responseText.match(/__KEYBOARD__(.+?)__END__\n?/);
// s 플래그로 .이 줄바꿈도 매칭하도록 (멀티라인 JSON 대응)
const keyboardMatch = responseText.match(/__KEYBOARD__(.+?)__END__\n?/s);
if (keyboardMatch) {
responseText = responseText.replace(/__KEYBOARD__.+?__END__\n?/, '');
console.log('[ConversationService] Keyboard marker detected:', keyboardMatch[1].substring(0, 100));
responseText = responseText.replace(/__KEYBOARD__.+?__END__\n?/s, '');
try {
keyboardData = JSON.parse(keyboardMatch[1]) as KeyboardData;
console.log('[ConversationService] Keyboard parsed successfully:', keyboardData.type);
} catch (e) {
console.error('[ConversationService] Keyboard parsing error:', e);
console.error('[ConversationService] Failed to parse:', keyboardMatch[1]);
}
} else if (responseText.includes('__KEYBOARD__')) {
console.warn('[ConversationService] Keyboard marker found but regex did not match');
console.warn('[ConversationService] Response preview:', responseText.substring(0, 200));
}
return {