@su-record/vibe 2.4.36 → 2.4.37
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +26 -13
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +11 -8
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/llm.js +9 -9
- package/dist/lib/gemini-api.d.ts +2 -2
- package/dist/lib/gemini-api.d.ts.map +1 -1
- package/dist/lib/gemini-api.js +9 -5
- package/dist/lib/gemini-api.js.map +1 -1
- package/dist/lib/gpt-api.d.ts +2 -2
- package/dist/lib/gpt-api.d.ts.map +1 -1
- package/dist/lib/gpt-api.js +12 -6
- package/dist/lib/gpt-api.js.map +1 -1
- package/dist/lib/utils.d.ts +15 -0
- package/dist/lib/utils.d.ts.map +1 -1
- package/dist/lib/utils.js +27 -0
- package/dist/lib/utils.js.map +1 -1
- package/dist/orchestrator/backgroundAgent.d.ts.map +1 -1
- package/dist/orchestrator/backgroundAgent.js +37 -1
- package/dist/orchestrator/backgroundAgent.js.map +1 -1
- package/dist/orchestrator/index.d.ts +112 -1
- package/dist/orchestrator/index.d.ts.map +1 -1
- package/dist/orchestrator/index.js +216 -0
- package/dist/orchestrator/index.js.map +1 -1
- package/dist/orchestrator/orchestrator.d.ts +115 -1
- package/dist/orchestrator/orchestrator.d.ts.map +1 -1
- package/dist/orchestrator/orchestrator.js +358 -1
- package/dist/orchestrator/orchestrator.js.map +1 -1
- package/dist/orchestrator/types.d.ts +42 -0
- package/dist/orchestrator/types.d.ts.map +1 -1
- package/dist/orchestrator/types.js +10 -1
- package/dist/orchestrator/types.js.map +1 -1
- package/hooks/hooks.json +29 -29
- package/hooks/scripts/code-check.js +22 -0
- package/hooks/scripts/code-review.js +22 -0
- package/hooks/scripts/complexity.js +22 -0
- package/hooks/scripts/compound.js +23 -0
- package/hooks/scripts/context-save.js +33 -0
- package/hooks/scripts/llm-orchestrate.js +64 -0
- package/hooks/scripts/recall.js +22 -0
- package/hooks/scripts/session-start.js +30 -0
- package/hooks/scripts/utils.js +34 -0
- package/package.json +1 -1
- package/dist/lib/gemini-mcp.d.ts +0 -10
- package/dist/lib/gemini-mcp.d.ts.map +0 -1
- package/dist/lib/gemini-mcp.js +0 -353
- package/dist/lib/gemini-mcp.js.map +0 -1
- package/dist/lib/gpt-mcp.d.ts +0 -10
- package/dist/lib/gpt-mcp.d.ts.map +0 -1
- package/dist/lib/gpt-mcp.js +0 -352
- package/dist/lib/gpt-mcp.js.map +0 -1
|
@@ -8,6 +8,41 @@ import { DEFAULT_MODELS, AGENT } from '../lib/constants.js';
|
|
|
8
8
|
const activeSessions = new Map();
|
|
9
9
|
// 세션 히스토리 (완료된 세션 포함)
|
|
10
10
|
const sessionHistory = [];
|
|
11
|
+
// TTL 설정 (기본 1시간)
|
|
12
|
+
const SESSION_TTL = 60 * 60 * 1000;
|
|
13
|
+
const SESSION_HISTORY_TTL = 24 * 60 * 60 * 1000; // 히스토리는 24시간
|
|
14
|
+
const CLEANUP_INTERVAL = 10 * 60 * 1000; // 10분마다 정리
|
|
15
|
+
// 세션 정리 함수
|
|
16
|
+
function cleanupExpiredSessions() {
|
|
17
|
+
const now = Date.now();
|
|
18
|
+
// 활성 세션 정리 (TTL 초과 + running 상태인 경우 취소)
|
|
19
|
+
for (const [sessionId, session] of activeSessions.entries()) {
|
|
20
|
+
if (now - session.createdAt > SESSION_TTL) {
|
|
21
|
+
if (session.handle.status === 'running') {
|
|
22
|
+
session.cancelController.abort();
|
|
23
|
+
}
|
|
24
|
+
activeSessions.delete(sessionId);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
// 히스토리 정리 (24시간 초과)
|
|
28
|
+
const cutoff = now - SESSION_HISTORY_TTL;
|
|
29
|
+
while (sessionHistory.length > 0 && sessionHistory[0].startTime < cutoff) {
|
|
30
|
+
sessionHistory.shift();
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
// 정리 타이머 시작 (모듈 로드 시 자동 시작)
|
|
34
|
+
let cleanupTimer = null;
|
|
35
|
+
function startCleanupTimer() {
|
|
36
|
+
if (cleanupTimer)
|
|
37
|
+
return;
|
|
38
|
+
cleanupTimer = setInterval(cleanupExpiredSessions, CLEANUP_INTERVAL);
|
|
39
|
+
// unref로 프로세스 종료를 막지 않음
|
|
40
|
+
if (cleanupTimer.unref) {
|
|
41
|
+
cleanupTimer.unref();
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
// 모듈 로드 시 타이머 시작
|
|
45
|
+
startCleanupTimer();
|
|
11
46
|
/**
|
|
12
47
|
* 백그라운드 에이전트 시작
|
|
13
48
|
*/
|
|
@@ -129,7 +164,8 @@ export async function launchBackgroundAgent(args) {
|
|
|
129
164
|
activeSessions.set(handle.sessionId, {
|
|
130
165
|
handle,
|
|
131
166
|
resultPromise,
|
|
132
|
-
cancelController
|
|
167
|
+
cancelController,
|
|
168
|
+
createdAt: startTime
|
|
133
169
|
});
|
|
134
170
|
// 완료 시 히스토리에 추가
|
|
135
171
|
resultPromise.then((result) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backgroundAgent.js","sourceRoot":"","sources":["../../src/orchestrator/backgroundAgent.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAUH,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAE5D,YAAY;AACZ,MAAM,cAAc,GAAG,IAAI,GAAG,
|
|
1
|
+
{"version":3,"file":"backgroundAgent.js","sourceRoot":"","sources":["../../src/orchestrator/backgroundAgent.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,8 @@
|
|
|
7
7
|
* 사용법 (코드에서):
|
|
8
8
|
* import { VibeOrchestrator, parallelResearch } from '@su-record/vibe/orchestrator';
|
|
9
9
|
*/
|
|
10
|
-
export type { AgentConfig, AgentResult, ResearchTask, ParallelResearchArgs, ParallelResearchResult, BackgroundAgentArgs, BackgroundAgentHandle, DiscoveredAgent, AgentDiscoveryArgs, SessionInfo, OrchestratorOptions, AgentMessage } from './types.js';
|
|
10
|
+
export type { AgentConfig, AgentResult, ResearchTask, ParallelResearchArgs, ParallelResearchResult, BackgroundAgentArgs, BackgroundAgentHandle, DiscoveredAgent, AgentDiscoveryArgs, SessionInfo, OrchestratorOptions, AgentMessage, TaskType, LLMProvider, SmartRouteRequest, SmartRouteResult, LLMAvailabilityCache } from './types.js';
|
|
11
|
+
export { TASK_LLM_PRIORITY } from './types.js';
|
|
11
12
|
export { discoverAgents, loadAgent, listAgentsByCategory } from './agentDiscovery.js';
|
|
12
13
|
export { parallelResearch, researchFeature, createResearchTasks } from './parallelResearch.js';
|
|
13
14
|
export { launchBackgroundAgent, getBackgroundAgentResult, cancelBackgroundAgent, listActiveSessions, getSessionHistory, launchParallelAgents } from './backgroundAgent.js';
|
|
@@ -55,4 +56,114 @@ export declare function review(filePaths: string[], techStack?: string[], projec
|
|
|
55
56
|
* node -e "import('@su-record/vibe/orchestrator').then(o => o.status()).then(console.log)"
|
|
56
57
|
*/
|
|
57
58
|
export declare function status(): ToolResult;
|
|
59
|
+
/**
|
|
60
|
+
* GPT 웹 검색 (간편 API)
|
|
61
|
+
*
|
|
62
|
+
* @example
|
|
63
|
+
* node -e "import('@su-record/vibe/orchestrator').then(o => o.gptSearch('React 19 features')).then(console.log)"
|
|
64
|
+
*/
|
|
65
|
+
export declare function gptSearch(query: string): Promise<ToolResult>;
|
|
66
|
+
/**
|
|
67
|
+
* GPT 오케스트레이션 (간편 API)
|
|
68
|
+
*
|
|
69
|
+
* @example
|
|
70
|
+
* node -e "import('@su-record/vibe/orchestrator').then(o => o.gpt('Analyze this architecture')).then(console.log)"
|
|
71
|
+
*/
|
|
72
|
+
export declare function gpt(prompt: string, systemPrompt?: string): Promise<ToolResult>;
|
|
73
|
+
/**
|
|
74
|
+
* Gemini 웹 검색 (간편 API)
|
|
75
|
+
*
|
|
76
|
+
* @example
|
|
77
|
+
* node -e "import('@su-record/vibe/orchestrator').then(o => o.geminiSearch('React 19 features')).then(console.log)"
|
|
78
|
+
*/
|
|
79
|
+
export declare function geminiSearch(query: string): Promise<ToolResult>;
|
|
80
|
+
/**
|
|
81
|
+
* Gemini 오케스트레이션 (간편 API)
|
|
82
|
+
*
|
|
83
|
+
* @example
|
|
84
|
+
* node -e "import('@su-record/vibe/orchestrator').then(o => o.gemini('Review this UI')).then(console.log)"
|
|
85
|
+
*/
|
|
86
|
+
export declare function gemini(prompt: string, systemPrompt?: string): Promise<ToolResult>;
|
|
87
|
+
/**
|
|
88
|
+
* 멀티 LLM 병렬 쿼리 (간편 API)
|
|
89
|
+
* GPT, Gemini 동시 호출
|
|
90
|
+
*
|
|
91
|
+
* @example
|
|
92
|
+
* node -e "import('@su-record/vibe/orchestrator').then(o => o.multiLlm('Review this code')).then(console.log)"
|
|
93
|
+
*/
|
|
94
|
+
export declare function multiLlm(prompt: string, options?: {
|
|
95
|
+
useGpt?: boolean;
|
|
96
|
+
useGemini?: boolean;
|
|
97
|
+
}): Promise<ToolResult>;
|
|
98
|
+
/**
|
|
99
|
+
* LLM 상태 확인 (간편 API)
|
|
100
|
+
*
|
|
101
|
+
* @example
|
|
102
|
+
* node -e "import('@su-record/vibe/orchestrator').then(o => o.llmStatus()).then(console.log)"
|
|
103
|
+
*/
|
|
104
|
+
export declare function llmStatus(): Promise<ToolResult>;
|
|
105
|
+
import type { TaskType, SmartRouteResult } from './types.js';
|
|
106
|
+
/**
|
|
107
|
+
* 스마트 라우팅 - 작업 유형에 따라 최적의 LLM 선택 + 자동 fallback
|
|
108
|
+
*
|
|
109
|
+
* @example
|
|
110
|
+
* node -e "import('@su-record/vibe/orchestrator').then(o => o.smartRoute({type:'architecture',prompt:'Review this design'})).then(console.log)"
|
|
111
|
+
*/
|
|
112
|
+
export declare function smartRoute(type: TaskType, prompt: string, systemPrompt?: string): Promise<ToolResult & {
|
|
113
|
+
result: SmartRouteResult;
|
|
114
|
+
}>;
|
|
115
|
+
/**
|
|
116
|
+
* 아키텍처 분석 with fallback (GPT → Gemini → Claude)
|
|
117
|
+
*
|
|
118
|
+
* @example
|
|
119
|
+
* node -e "import('@su-record/vibe/orchestrator').then(o => o.smartArchitecture('Review this system design')).then(console.log)"
|
|
120
|
+
*/
|
|
121
|
+
export declare function smartArchitecture(prompt: string): Promise<ToolResult & {
|
|
122
|
+
result: SmartRouteResult;
|
|
123
|
+
}>;
|
|
124
|
+
/**
|
|
125
|
+
* UI/UX 분석 with fallback (Gemini → GPT → Claude)
|
|
126
|
+
*
|
|
127
|
+
* @example
|
|
128
|
+
* node -e "import('@su-record/vibe/orchestrator').then(o => o.smartUiux('Improve this form UX')).then(console.log)"
|
|
129
|
+
*/
|
|
130
|
+
export declare function smartUiux(prompt: string): Promise<ToolResult & {
|
|
131
|
+
result: SmartRouteResult;
|
|
132
|
+
}>;
|
|
133
|
+
/**
|
|
134
|
+
* 코드 분석 with fallback (Gemini → GPT → Claude)
|
|
135
|
+
*
|
|
136
|
+
* @example
|
|
137
|
+
* node -e "import('@su-record/vibe/orchestrator').then(o => o.smartCodeAnalysis('Analyze this code')).then(console.log)"
|
|
138
|
+
*/
|
|
139
|
+
export declare function smartCodeAnalysis(prompt: string): Promise<ToolResult & {
|
|
140
|
+
result: SmartRouteResult;
|
|
141
|
+
}>;
|
|
142
|
+
/**
|
|
143
|
+
* 디버깅 with fallback (GPT → Gemini → Claude)
|
|
144
|
+
*
|
|
145
|
+
* @example
|
|
146
|
+
* node -e "import('@su-record/vibe/orchestrator').then(o => o.smartDebugging('Find bugs in this code')).then(console.log)"
|
|
147
|
+
*/
|
|
148
|
+
export declare function smartDebugging(prompt: string): Promise<ToolResult & {
|
|
149
|
+
result: SmartRouteResult;
|
|
150
|
+
}>;
|
|
151
|
+
/**
|
|
152
|
+
* 웹 검색 with fallback (GPT → Gemini → Claude)
|
|
153
|
+
*
|
|
154
|
+
* @example
|
|
155
|
+
* node -e "import('@su-record/vibe/orchestrator').then(o => o.smartWebSearch('React 19 new features')).then(console.log)"
|
|
156
|
+
*/
|
|
157
|
+
export declare function smartWebSearch(query: string): Promise<ToolResult & {
|
|
158
|
+
result: SmartRouteResult;
|
|
159
|
+
}>;
|
|
160
|
+
/**
|
|
161
|
+
* 코드 생성 with fallback (Claude 직접)
|
|
162
|
+
*
|
|
163
|
+
* @example
|
|
164
|
+
* node -e "import('@su-record/vibe/orchestrator').then(o => o.smartCodeGen('Create a React button component')).then(console.log)"
|
|
165
|
+
*/
|
|
166
|
+
export declare function smartCodeGen(description: string, context?: string): Promise<ToolResult & {
|
|
167
|
+
result: SmartRouteResult;
|
|
168
|
+
}>;
|
|
58
169
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/orchestrator/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,YAAY,EACV,WAAW,EACX,WAAW,EACX,YAAY,EACZ,oBAAoB,EACpB,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EACrB,eAAe,EACf,kBAAkB,EAClB,WAAW,EACX,mBAAmB,EACnB,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/orchestrator/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,8 @@
|
|
|
7
7
|
* 사용법 (코드에서):
|
|
8
8
|
* import { VibeOrchestrator, parallelResearch } from '@su-record/vibe/orchestrator';
|
|
9
9
|
*/
|
|
10
|
+
// Smart Routing constants
|
|
11
|
+
export { TASK_LLM_PRIORITY } from './types.js';
|
|
10
12
|
// Agent Discovery
|
|
11
13
|
export { discoverAgents, loadAgent, listAgentsByCategory } from './agentDiscovery.js';
|
|
12
14
|
// Parallel Research
|
|
@@ -112,4 +114,218 @@ export function status() {
|
|
|
112
114
|
}]
|
|
113
115
|
};
|
|
114
116
|
}
|
|
117
|
+
// ============================================
|
|
118
|
+
// Multi-LLM Integration (GPT, Gemini)
|
|
119
|
+
// ============================================
|
|
120
|
+
import * as gptApi from '../lib/gpt-api.js';
|
|
121
|
+
import * as geminiApi from '../lib/gemini-api.js';
|
|
122
|
+
// ============================================
|
|
123
|
+
// GPT Integration (웹 검색, 아키텍처 분석)
|
|
124
|
+
// ============================================
|
|
125
|
+
/**
|
|
126
|
+
* GPT 웹 검색 (간편 API)
|
|
127
|
+
*
|
|
128
|
+
* @example
|
|
129
|
+
* node -e "import('@su-record/vibe/orchestrator').then(o => o.gptSearch('React 19 features')).then(console.log)"
|
|
130
|
+
*/
|
|
131
|
+
export async function gptSearch(query) {
|
|
132
|
+
try {
|
|
133
|
+
const result = await gptApi.quickWebSearch(query);
|
|
134
|
+
return {
|
|
135
|
+
content: [{ type: 'text', text: result }],
|
|
136
|
+
success: true
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
catch (error) {
|
|
140
|
+
return {
|
|
141
|
+
content: [{ type: 'text', text: `[GPT Error] ${error.message}` }],
|
|
142
|
+
success: false
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* GPT 오케스트레이션 (간편 API)
|
|
148
|
+
*
|
|
149
|
+
* @example
|
|
150
|
+
* node -e "import('@su-record/vibe/orchestrator').then(o => o.gpt('Analyze this architecture')).then(console.log)"
|
|
151
|
+
*/
|
|
152
|
+
export async function gpt(prompt, systemPrompt = 'You are a helpful assistant.') {
|
|
153
|
+
try {
|
|
154
|
+
const result = await gptApi.vibeGptOrchestrate(prompt, systemPrompt, { jsonMode: false });
|
|
155
|
+
return {
|
|
156
|
+
content: [{ type: 'text', text: result }],
|
|
157
|
+
success: true
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
catch (error) {
|
|
161
|
+
return {
|
|
162
|
+
content: [{ type: 'text', text: `[GPT Error] ${error.message}` }],
|
|
163
|
+
success: false
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
// ============================================
|
|
168
|
+
// Gemini Integration (UI/UX 분석, 코드 분석)
|
|
169
|
+
// ============================================
|
|
170
|
+
/**
|
|
171
|
+
* Gemini 웹 검색 (간편 API)
|
|
172
|
+
*
|
|
173
|
+
* @example
|
|
174
|
+
* node -e "import('@su-record/vibe/orchestrator').then(o => o.geminiSearch('React 19 features')).then(console.log)"
|
|
175
|
+
*/
|
|
176
|
+
export async function geminiSearch(query) {
|
|
177
|
+
try {
|
|
178
|
+
const result = await geminiApi.quickWebSearch(query);
|
|
179
|
+
return {
|
|
180
|
+
content: [{ type: 'text', text: result }],
|
|
181
|
+
success: true
|
|
182
|
+
};
|
|
183
|
+
}
|
|
184
|
+
catch (error) {
|
|
185
|
+
return {
|
|
186
|
+
content: [{ type: 'text', text: `[Gemini Error] ${error.message}` }],
|
|
187
|
+
success: false
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* Gemini 오케스트레이션 (간편 API)
|
|
193
|
+
*
|
|
194
|
+
* @example
|
|
195
|
+
* node -e "import('@su-record/vibe/orchestrator').then(o => o.gemini('Review this UI')).then(console.log)"
|
|
196
|
+
*/
|
|
197
|
+
export async function gemini(prompt, systemPrompt = 'You are a helpful assistant.') {
|
|
198
|
+
try {
|
|
199
|
+
const result = await geminiApi.vibeGeminiOrchestrate(prompt, systemPrompt, { jsonMode: false });
|
|
200
|
+
return {
|
|
201
|
+
content: [{ type: 'text', text: result }],
|
|
202
|
+
success: true
|
|
203
|
+
};
|
|
204
|
+
}
|
|
205
|
+
catch (error) {
|
|
206
|
+
return {
|
|
207
|
+
content: [{ type: 'text', text: `[Gemini Error] ${error.message}` }],
|
|
208
|
+
success: false
|
|
209
|
+
};
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
// ============================================
|
|
213
|
+
// Multi-LLM Orchestration
|
|
214
|
+
// ============================================
|
|
215
|
+
/**
|
|
216
|
+
* 멀티 LLM 병렬 쿼리 (간편 API)
|
|
217
|
+
* GPT, Gemini 동시 호출
|
|
218
|
+
*
|
|
219
|
+
* @example
|
|
220
|
+
* node -e "import('@su-record/vibe/orchestrator').then(o => o.multiLlm('Review this code')).then(console.log)"
|
|
221
|
+
*/
|
|
222
|
+
export async function multiLlm(prompt, options) {
|
|
223
|
+
const orchestrator = new VibeOrchestrator();
|
|
224
|
+
const results = await orchestrator.multiLlmQuery(prompt, options);
|
|
225
|
+
let summary = '## Multi-LLM Results\n\n';
|
|
226
|
+
if (results.gpt) {
|
|
227
|
+
summary += `### GPT\n${results.gpt}\n\n`;
|
|
228
|
+
}
|
|
229
|
+
if (results.gemini) {
|
|
230
|
+
summary += `### Gemini\n${results.gemini}\n\n`;
|
|
231
|
+
}
|
|
232
|
+
return {
|
|
233
|
+
content: [{ type: 'text', text: summary }],
|
|
234
|
+
results
|
|
235
|
+
};
|
|
236
|
+
}
|
|
237
|
+
/**
|
|
238
|
+
* LLM 상태 확인 (간편 API)
|
|
239
|
+
*
|
|
240
|
+
* @example
|
|
241
|
+
* node -e "import('@su-record/vibe/orchestrator').then(o => o.llmStatus()).then(console.log)"
|
|
242
|
+
*/
|
|
243
|
+
export async function llmStatus() {
|
|
244
|
+
const orchestrator = new VibeOrchestrator();
|
|
245
|
+
const llmStatusResult = await orchestrator.checkLlmStatus();
|
|
246
|
+
const gptIcon = llmStatusResult.gpt.available ? '✓' : '✗';
|
|
247
|
+
const geminiIcon = llmStatusResult.gemini.available ? '✓' : '✗';
|
|
248
|
+
let text = '## LLM Status\n\n';
|
|
249
|
+
text += `- GPT: ${gptIcon} ${llmStatusResult.gpt.available ? 'Available' : 'Unavailable'}\n`;
|
|
250
|
+
text += `- Gemini: ${geminiIcon} ${llmStatusResult.gemini.available ? 'Available' : 'Unavailable'}\n`;
|
|
251
|
+
return {
|
|
252
|
+
content: [{ type: 'text', text }],
|
|
253
|
+
status: llmStatusResult
|
|
254
|
+
};
|
|
255
|
+
}
|
|
256
|
+
/**
|
|
257
|
+
* 스마트 라우팅 - 작업 유형에 따라 최적의 LLM 선택 + 자동 fallback
|
|
258
|
+
*
|
|
259
|
+
* @example
|
|
260
|
+
* node -e "import('@su-record/vibe/orchestrator').then(o => o.smartRoute({type:'architecture',prompt:'Review this design'})).then(console.log)"
|
|
261
|
+
*/
|
|
262
|
+
export async function smartRoute(type, prompt, systemPrompt) {
|
|
263
|
+
const orchestrator = new VibeOrchestrator();
|
|
264
|
+
const result = await orchestrator.smartRoute({ type, prompt, systemPrompt });
|
|
265
|
+
const fallbackInfo = result.usedFallback
|
|
266
|
+
? ` (fallback from ${result.attemptedProviders.slice(0, -1).join(' → ')})`
|
|
267
|
+
: '';
|
|
268
|
+
return {
|
|
269
|
+
content: [{
|
|
270
|
+
type: 'text',
|
|
271
|
+
text: `[${result.provider.toUpperCase()}${fallbackInfo}]\n\n${result.content}`
|
|
272
|
+
}],
|
|
273
|
+
result
|
|
274
|
+
};
|
|
275
|
+
}
|
|
276
|
+
/**
|
|
277
|
+
* 아키텍처 분석 with fallback (GPT → Gemini → Claude)
|
|
278
|
+
*
|
|
279
|
+
* @example
|
|
280
|
+
* node -e "import('@su-record/vibe/orchestrator').then(o => o.smartArchitecture('Review this system design')).then(console.log)"
|
|
281
|
+
*/
|
|
282
|
+
export async function smartArchitecture(prompt) {
|
|
283
|
+
return smartRoute('architecture', prompt, 'You are a software architect. Analyze and review the architecture.');
|
|
284
|
+
}
|
|
285
|
+
/**
|
|
286
|
+
* UI/UX 분석 with fallback (Gemini → GPT → Claude)
|
|
287
|
+
*
|
|
288
|
+
* @example
|
|
289
|
+
* node -e "import('@su-record/vibe/orchestrator').then(o => o.smartUiux('Improve this form UX')).then(console.log)"
|
|
290
|
+
*/
|
|
291
|
+
export async function smartUiux(prompt) {
|
|
292
|
+
return smartRoute('uiux', prompt, 'You are a UI/UX expert. Analyze and provide feedback.');
|
|
293
|
+
}
|
|
294
|
+
/**
|
|
295
|
+
* 코드 분석 with fallback (Gemini → GPT → Claude)
|
|
296
|
+
*
|
|
297
|
+
* @example
|
|
298
|
+
* node -e "import('@su-record/vibe/orchestrator').then(o => o.smartCodeAnalysis('Analyze this code')).then(console.log)"
|
|
299
|
+
*/
|
|
300
|
+
export async function smartCodeAnalysis(prompt) {
|
|
301
|
+
return smartRoute('code-analysis', prompt, 'You are a code analysis expert. Review and analyze the code.');
|
|
302
|
+
}
|
|
303
|
+
/**
|
|
304
|
+
* 디버깅 with fallback (GPT → Gemini → Claude)
|
|
305
|
+
*
|
|
306
|
+
* @example
|
|
307
|
+
* node -e "import('@su-record/vibe/orchestrator').then(o => o.smartDebugging('Find bugs in this code')).then(console.log)"
|
|
308
|
+
*/
|
|
309
|
+
export async function smartDebugging(prompt) {
|
|
310
|
+
return smartRoute('debugging', prompt, 'You are a debugging expert. Find bugs and suggest fixes.');
|
|
311
|
+
}
|
|
312
|
+
/**
|
|
313
|
+
* 웹 검색 with fallback (GPT → Gemini → Claude)
|
|
314
|
+
*
|
|
315
|
+
* @example
|
|
316
|
+
* node -e "import('@su-record/vibe/orchestrator').then(o => o.smartWebSearch('React 19 new features')).then(console.log)"
|
|
317
|
+
*/
|
|
318
|
+
export async function smartWebSearch(query) {
|
|
319
|
+
return smartRoute('web-search', query, 'Search the web and provide relevant information.');
|
|
320
|
+
}
|
|
321
|
+
/**
|
|
322
|
+
* 코드 생성 with fallback (Claude 직접)
|
|
323
|
+
*
|
|
324
|
+
* @example
|
|
325
|
+
* node -e "import('@su-record/vibe/orchestrator').then(o => o.smartCodeGen('Create a React button component')).then(console.log)"
|
|
326
|
+
*/
|
|
327
|
+
export async function smartCodeGen(description, context) {
|
|
328
|
+
const prompt = context ? `${description}\n\nContext:\n${context}` : description;
|
|
329
|
+
return smartRoute('code-gen', prompt, 'Generate clean, well-documented code.');
|
|
330
|
+
}
|
|
115
331
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/orchestrator/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/orchestrator/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Orchestrator - 메인 오케스트레이터 클래스
|
|
3
3
|
* /vibe.* 명령어에서 사용할 중앙 오케스트레이션 로직
|
|
4
4
|
*/
|
|
5
|
-
import { OrchestratorOptions, AgentResult, BackgroundAgentArgs, BackgroundAgentHandle, ParallelResearchArgs, ParallelResearchResult, DiscoveredAgent } from './types.js';
|
|
5
|
+
import { OrchestratorOptions, AgentResult, BackgroundAgentArgs, BackgroundAgentHandle, ParallelResearchArgs, ParallelResearchResult, DiscoveredAgent, SmartRouteRequest, SmartRouteResult } from './types.js';
|
|
6
6
|
import { ToolResult } from '../types/tool.js';
|
|
7
7
|
/**
|
|
8
8
|
* Vibe Orchestrator
|
|
@@ -12,6 +12,70 @@ export declare class VibeOrchestrator {
|
|
|
12
12
|
private options;
|
|
13
13
|
private memoryManager;
|
|
14
14
|
constructor(options?: OrchestratorOptions);
|
|
15
|
+
/**
|
|
16
|
+
* 스마트 라우팅 - 작업 유형에 따라 최적의 LLM 선택 + fallback
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* const result = await orchestrator.smartRoute({
|
|
20
|
+
* type: 'architecture',
|
|
21
|
+
* prompt: 'Review this system design'
|
|
22
|
+
* });
|
|
23
|
+
*/
|
|
24
|
+
smartRoute(request: SmartRouteRequest): Promise<SmartRouteResult>;
|
|
25
|
+
/**
|
|
26
|
+
* LLM 호출 (provider별 분기)
|
|
27
|
+
*/
|
|
28
|
+
private callLlm;
|
|
29
|
+
/**
|
|
30
|
+
* 재시도 없이 즉시 다음 LLM으로 넘어가야 하는 에러인지 확인
|
|
31
|
+
* - Rate limit/Quota 에러
|
|
32
|
+
* - 인증 에러 (토큰/키 없음)
|
|
33
|
+
*/
|
|
34
|
+
private shouldSkipRetry;
|
|
35
|
+
/**
|
|
36
|
+
* LLM 가용성 확인 (캐시 기반)
|
|
37
|
+
*/
|
|
38
|
+
private isLlmUnavailable;
|
|
39
|
+
/**
|
|
40
|
+
* LLM 가용 상태로 마킹
|
|
41
|
+
*/
|
|
42
|
+
private markLlmAvailable;
|
|
43
|
+
/**
|
|
44
|
+
* LLM 불가용 상태로 마킹
|
|
45
|
+
*/
|
|
46
|
+
private markLlmUnavailable;
|
|
47
|
+
/**
|
|
48
|
+
* Fallback 메시지 생성 (Claude가 직접 처리하도록 안내)
|
|
49
|
+
*/
|
|
50
|
+
private buildFallbackMessage;
|
|
51
|
+
/**
|
|
52
|
+
* 지연 유틸리티
|
|
53
|
+
*/
|
|
54
|
+
private delay;
|
|
55
|
+
/**
|
|
56
|
+
* 웹 검색 with fallback (GPT → Gemini → Claude WebSearch)
|
|
57
|
+
*/
|
|
58
|
+
smartWebSearch(query: string): Promise<SmartRouteResult>;
|
|
59
|
+
/**
|
|
60
|
+
* 아키텍처 분석 with fallback
|
|
61
|
+
*/
|
|
62
|
+
smartArchitectureReview(prompt: string): Promise<SmartRouteResult>;
|
|
63
|
+
/**
|
|
64
|
+
* UI/UX 분석 with fallback
|
|
65
|
+
*/
|
|
66
|
+
smartUiuxReview(prompt: string): Promise<SmartRouteResult>;
|
|
67
|
+
/**
|
|
68
|
+
* 코드 분석 with fallback
|
|
69
|
+
*/
|
|
70
|
+
smartCodeAnalysis(prompt: string): Promise<SmartRouteResult>;
|
|
71
|
+
/**
|
|
72
|
+
* 디버깅 with fallback
|
|
73
|
+
*/
|
|
74
|
+
smartDebugging(prompt: string): Promise<SmartRouteResult>;
|
|
75
|
+
/**
|
|
76
|
+
* 코드 생성 with fallback (Claude 직접)
|
|
77
|
+
*/
|
|
78
|
+
smartCodeGen(description: string, context?: string): Promise<SmartRouteResult>;
|
|
15
79
|
/**
|
|
16
80
|
* 에이전트 탐색
|
|
17
81
|
*/
|
|
@@ -77,6 +141,56 @@ export declare class VibeOrchestrator {
|
|
|
77
141
|
* 메모리에서 결과 조회
|
|
78
142
|
*/
|
|
79
143
|
getFromMemory(key: string): string | null;
|
|
144
|
+
/**
|
|
145
|
+
* GPT 웹 검색
|
|
146
|
+
* @param query 검색 쿼리
|
|
147
|
+
*/
|
|
148
|
+
gptWebSearch(query: string): Promise<string>;
|
|
149
|
+
/**
|
|
150
|
+
* GPT 오케스트레이션
|
|
151
|
+
* @param prompt 프롬프트
|
|
152
|
+
* @param systemPrompt 시스템 프롬프트
|
|
153
|
+
* @param options 옵션 (jsonMode 등)
|
|
154
|
+
*/
|
|
155
|
+
gptOrchestrate(prompt: string, systemPrompt?: string, options?: {
|
|
156
|
+
jsonMode?: boolean;
|
|
157
|
+
}): Promise<string>;
|
|
158
|
+
/**
|
|
159
|
+
* Gemini 웹 검색
|
|
160
|
+
* @param query 검색 쿼리
|
|
161
|
+
*/
|
|
162
|
+
geminiWebSearch(query: string): Promise<string>;
|
|
163
|
+
/**
|
|
164
|
+
* Gemini 오케스트레이션
|
|
165
|
+
* @param prompt 프롬프트
|
|
166
|
+
* @param systemPrompt 시스템 프롬프트
|
|
167
|
+
* @param options 옵션 (jsonMode 등)
|
|
168
|
+
*/
|
|
169
|
+
geminiOrchestrate(prompt: string, systemPrompt?: string, options?: {
|
|
170
|
+
jsonMode?: boolean;
|
|
171
|
+
}): Promise<string>;
|
|
172
|
+
/**
|
|
173
|
+
* 멀티 LLM 병렬 쿼리
|
|
174
|
+
* GPT, Gemini 동시 호출하여 결과 비교
|
|
175
|
+
*/
|
|
176
|
+
multiLlmQuery(prompt: string, options?: {
|
|
177
|
+
useGpt?: boolean;
|
|
178
|
+
useGemini?: boolean;
|
|
179
|
+
}): Promise<{
|
|
180
|
+
gpt?: string;
|
|
181
|
+
gemini?: string;
|
|
182
|
+
}>;
|
|
183
|
+
/**
|
|
184
|
+
* LLM 상태 확인 (전체)
|
|
185
|
+
*/
|
|
186
|
+
checkLlmStatus(): Promise<{
|
|
187
|
+
gpt: {
|
|
188
|
+
available: boolean;
|
|
189
|
+
};
|
|
190
|
+
gemini: {
|
|
191
|
+
available: boolean;
|
|
192
|
+
};
|
|
193
|
+
}>;
|
|
80
194
|
}
|
|
81
195
|
export declare function getOrchestrator(options?: OrchestratorOptions): VibeOrchestrator;
|
|
82
196
|
//# sourceMappingURL=orchestrator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/orchestrator/orchestrator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EACL,mBAAmB,EAEnB,WAAW,EACX,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,EACtB,eAAe,
|
|
1
|
+
{"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/orchestrator/orchestrator.ts"],"names":[],"mappings":"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"}
|