@su-record/vibe 2.6.51 → 2.6.53

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.
Files changed (161) hide show
  1. package/.env.example +37 -54
  2. package/agents/review/git-history-reviewer.md +1 -1
  3. package/commands/vibe.analyze.md +5 -5
  4. package/commands/vibe.reason.md +4 -4
  5. package/commands/vibe.review.md +7 -8
  6. package/commands/vibe.run.md +11 -14
  7. package/commands/vibe.spec.md +7 -12
  8. package/commands/vibe.spec.review.md +2 -5
  9. package/commands/vibe.trace.md +2 -2
  10. package/commands/vibe.utils.md +2 -5
  11. package/commands/vibe.verify.md +4 -4
  12. package/commands/vibe.voice.md +2 -5
  13. package/dist/cli/auth.d.ts +2 -6
  14. package/dist/cli/auth.d.ts.map +1 -1
  15. package/dist/cli/auth.js +9 -33
  16. package/dist/cli/auth.js.map +1 -1
  17. package/dist/cli/commands/info.js +1 -1
  18. package/dist/cli/commands/slack.d.ts +1 -2
  19. package/dist/cli/commands/slack.d.ts.map +1 -1
  20. package/dist/cli/commands/slack.js +17 -27
  21. package/dist/cli/commands/slack.js.map +1 -1
  22. package/dist/cli/commands/telegram.d.ts +2 -0
  23. package/dist/cli/commands/telegram.d.ts.map +1 -1
  24. package/dist/cli/commands/telegram.js +24 -48
  25. package/dist/cli/commands/telegram.js.map +1 -1
  26. package/dist/cli/index.d.ts.map +1 -1
  27. package/dist/cli/index.js +47 -41
  28. package/dist/cli/index.js.map +1 -1
  29. package/dist/cli/llm/config.d.ts +4 -3
  30. package/dist/cli/llm/config.d.ts.map +1 -1
  31. package/dist/cli/llm/config.js +33 -37
  32. package/dist/cli/llm/config.js.map +1 -1
  33. package/dist/cli/llm/gemini-commands.d.ts.map +1 -1
  34. package/dist/cli/llm/gemini-commands.js +43 -24
  35. package/dist/cli/llm/gemini-commands.js.map +1 -1
  36. package/dist/cli/llm/gpt-commands.d.ts +1 -0
  37. package/dist/cli/llm/gpt-commands.d.ts.map +1 -1
  38. package/dist/cli/llm/gpt-commands.js +50 -37
  39. package/dist/cli/llm/gpt-commands.js.map +1 -1
  40. package/dist/cli/postinstall/constants.js +1 -1
  41. package/dist/cli/postinstall/constants.js.map +1 -1
  42. package/dist/cli/postinstall/inline-skills.js +1 -1
  43. package/dist/cli/postinstall/main.d.ts.map +1 -1
  44. package/dist/cli/postinstall/main.js +9 -1
  45. package/dist/cli/postinstall/main.js.map +1 -1
  46. package/dist/cli/setup/GlobalInstaller.js +4 -4
  47. package/dist/cli/setup/ProjectSetup.js +3 -3
  48. package/dist/cli/setup/ProjectSetup.js.map +1 -1
  49. package/dist/cli/setup/index.d.ts.map +1 -1
  50. package/dist/cli/setup/index.js +0 -1
  51. package/dist/cli/setup/index.js.map +1 -1
  52. package/dist/cli/setup.d.ts.map +1 -1
  53. package/dist/cli/setup.js +0 -1
  54. package/dist/cli/setup.js.map +1 -1
  55. package/dist/cli/types.d.ts +59 -2
  56. package/dist/cli/types.d.ts.map +1 -1
  57. package/dist/infra/lib/MemoryManager.d.ts.map +1 -1
  58. package/dist/infra/lib/MemoryManager.js +0 -2
  59. package/dist/infra/lib/MemoryManager.js.map +1 -1
  60. package/dist/infra/lib/autonomy/AutonomyConfig.d.ts +3 -3
  61. package/dist/infra/lib/config/GlobalConfigManager.d.ts +29 -0
  62. package/dist/infra/lib/config/GlobalConfigManager.d.ts.map +1 -0
  63. package/dist/infra/lib/config/GlobalConfigManager.js +370 -0
  64. package/dist/infra/lib/config/GlobalConfigManager.js.map +1 -0
  65. package/dist/infra/lib/embedding/EmbeddingProvider.d.ts.map +1 -1
  66. package/dist/infra/lib/embedding/EmbeddingProvider.js +3 -2
  67. package/dist/infra/lib/embedding/EmbeddingProvider.js.map +1 -1
  68. package/dist/infra/lib/gemini/auth.d.ts +1 -1
  69. package/dist/infra/lib/gemini/auth.d.ts.map +1 -1
  70. package/dist/infra/lib/gemini/auth.js +21 -19
  71. package/dist/infra/lib/gemini/auth.js.map +1 -1
  72. package/dist/infra/lib/gemini/chat.d.ts.map +1 -1
  73. package/dist/infra/lib/gemini/chat.js +5 -4
  74. package/dist/infra/lib/gemini/chat.js.map +1 -1
  75. package/dist/infra/lib/gpt/auth.d.ts.map +1 -1
  76. package/dist/infra/lib/gpt/auth.js +6 -18
  77. package/dist/infra/lib/gpt/auth.js.map +1 -1
  78. package/dist/infra/lib/gpt/chat.d.ts.map +1 -1
  79. package/dist/infra/lib/gpt/chat.js +12 -5
  80. package/dist/infra/lib/gpt/chat.js.map +1 -1
  81. package/dist/infra/lib/gpt/oauth.d.ts.map +1 -1
  82. package/dist/infra/lib/gpt/oauth.js +3 -2
  83. package/dist/infra/lib/gpt/oauth.js.map +1 -1
  84. package/dist/infra/lib/llm/auth/ConfigManager.d.ts +4 -1
  85. package/dist/infra/lib/llm/auth/ConfigManager.d.ts.map +1 -1
  86. package/dist/infra/lib/llm/auth/ConfigManager.js +6 -6
  87. package/dist/infra/lib/llm/auth/ConfigManager.js.map +1 -1
  88. package/dist/infra/orchestrator/AgentExecutor.d.ts.map +1 -1
  89. package/dist/infra/orchestrator/AgentExecutor.js +2 -1
  90. package/dist/infra/orchestrator/AgentExecutor.js.map +1 -1
  91. package/dist/infra/orchestrator/AgentManager.d.ts.map +1 -1
  92. package/dist/infra/orchestrator/AgentManager.js +2 -1
  93. package/dist/infra/orchestrator/AgentManager.js.map +1 -1
  94. package/dist/infra/orchestrator/BackgroundManager.d.ts.map +1 -1
  95. package/dist/infra/orchestrator/BackgroundManager.js +2 -1
  96. package/dist/infra/orchestrator/BackgroundManager.js.map +1 -1
  97. package/dist/infra/orchestrator/SwarmOrchestrator.d.ts.map +1 -1
  98. package/dist/infra/orchestrator/SwarmOrchestrator.js +2 -1
  99. package/dist/infra/orchestrator/SwarmOrchestrator.js.map +1 -1
  100. package/dist/infra/orchestrator/parallelResearch.d.ts.map +1 -1
  101. package/dist/infra/orchestrator/parallelResearch.js +2 -1
  102. package/dist/infra/orchestrator/parallelResearch.js.map +1 -1
  103. package/dist/infra/types/tool.js +1 -1
  104. package/dist/infra/types/tool.js.map +1 -1
  105. package/dist/tools/evolution/dashboardTools.js +1 -1
  106. package/dist/tools/evolution/dashboardTools.js.map +1 -1
  107. package/dist/tools/evolution/index.js +2 -2
  108. package/dist/tools/evolution/index.js.map +1 -1
  109. package/dist/tools/evolution/insightTools.js +1 -1
  110. package/dist/tools/evolution/insightTools.js.map +1 -1
  111. package/dist/tools/index.js +1 -1
  112. package/dist/tools/index.js.map +1 -1
  113. package/dist/tools/interaction/askUser.d.ts +0 -2
  114. package/dist/tools/interaction/askUser.d.ts.map +1 -1
  115. package/dist/tools/interaction/askUser.js +0 -2
  116. package/dist/tools/interaction/askUser.js.map +1 -1
  117. package/dist/tools/interaction/index.d.ts +0 -2
  118. package/dist/tools/interaction/index.d.ts.map +1 -1
  119. package/dist/tools/interaction/index.js +0 -2
  120. package/dist/tools/interaction/index.js.map +1 -1
  121. package/dist/tools/memory/autoSaveContext.js +1 -1
  122. package/dist/tools/memory/autoSaveContext.js.map +1 -1
  123. package/dist/tools/memory/createMemoryTimeline.js +1 -1
  124. package/dist/tools/memory/createMemoryTimeline.js.map +1 -1
  125. package/dist/tools/memory/getMemoryGraph.js +1 -1
  126. package/dist/tools/memory/getMemoryGraph.js.map +1 -1
  127. package/dist/tools/memory/getSessionContext.js +1 -1
  128. package/dist/tools/memory/getSessionContext.js.map +1 -1
  129. package/dist/tools/memory/index.js +1 -1
  130. package/dist/tools/memory/index.js.map +1 -1
  131. package/dist/tools/memory/linkMemories.js +1 -1
  132. package/dist/tools/memory/linkMemories.js.map +1 -1
  133. package/dist/tools/memory/saveMemory.js +1 -1
  134. package/dist/tools/memory/saveMemory.js.map +1 -1
  135. package/dist/tools/memory/searchMemoriesAdvanced.js +1 -1
  136. package/dist/tools/memory/searchMemoriesAdvanced.js.map +1 -1
  137. package/dist/tools/memory/startSession.d.ts.map +1 -1
  138. package/dist/tools/memory/startSession.js +1 -2
  139. package/dist/tools/memory/startSession.js.map +1 -1
  140. package/dist/tools/semantic/analyzeDependencyGraph.js +1 -1
  141. package/dist/tools/semantic/analyzeDependencyGraph.js.map +1 -1
  142. package/dist/tools/semantic/findReferences.d.ts.map +1 -1
  143. package/dist/tools/semantic/findReferences.js +1 -2
  144. package/dist/tools/semantic/findReferences.js.map +1 -1
  145. package/dist/tools/semantic/findSymbol.d.ts.map +1 -1
  146. package/dist/tools/semantic/findSymbol.js +1 -2
  147. package/dist/tools/semantic/findSymbol.js.map +1 -1
  148. package/hooks/hooks.json +14 -14
  149. package/hooks/scripts/keyword-detector.js +1 -1
  150. package/hooks/scripts/llm-orchestrate.js +3 -2
  151. package/hooks/scripts/post-tool-verify.js +1 -1
  152. package/hooks/scripts/pre-tool-guard.js +1 -1
  153. package/hooks/scripts/skill-injector.js +1 -1
  154. package/hooks/scripts/stop-notify.js +5 -3
  155. package/hooks/scripts/utils.js +23 -6
  156. package/languages/python-fastapi.md +1 -1
  157. package/package.json +2 -2
  158. package/skills/brand-assets/SKILL.md +1 -1
  159. package/skills/core-capabilities/SKILL.md +3 -3
  160. package/skills/parallel-research/SKILL.md +1 -1
  161. package/.env +0 -62
@@ -0,0 +1,370 @@
1
+ /**
2
+ * GlobalConfigManager — ~/.vibe/config.json 통합 관리
3
+ *
4
+ * 모든 설정(credentials, channels, models, settings)을 하나의 파일로 관리.
5
+ * 플랫폼 무관 ~/.vibe/ 디렉토리 사용.
6
+ */
7
+ import fs from 'fs';
8
+ import path from 'path';
9
+ import os from 'os';
10
+ // ─── Constants ──────────────────────────────────────────────────────
11
+ const VIBE_DIR_NAME = '.vibe';
12
+ const CONFIG_FILE_NAME = 'config.json';
13
+ const FILE_PERMISSIONS = 0o600;
14
+ const DIR_PERMISSIONS = 0o700;
15
+ // ─── In-memory cache ────────────────────────────────────────────────
16
+ let cachedConfig = null;
17
+ let cacheTimestamp = 0;
18
+ const CACHE_TTL_MS = 5_000;
19
+ function invalidateCache() {
20
+ cachedConfig = null;
21
+ cacheTimestamp = 0;
22
+ }
23
+ // ─── Path helpers ───────────────────────────────────────────────────
24
+ /** ~/.vibe/ (플랫폼 무관 통일) */
25
+ export function getVibeDir() {
26
+ return path.join(os.homedir(), VIBE_DIR_NAME);
27
+ }
28
+ /** ~/.vibe/config.json */
29
+ export function getGlobalConfigPath() {
30
+ return path.join(getVibeDir(), CONFIG_FILE_NAME);
31
+ }
32
+ // ─── Read / Write ───────────────────────────────────────────────────
33
+ function createDefaultConfig() {
34
+ return { version: '1' };
35
+ }
36
+ export function readGlobalConfig() {
37
+ const now = Date.now();
38
+ if (cachedConfig && (now - cacheTimestamp) < CACHE_TTL_MS) {
39
+ return cachedConfig;
40
+ }
41
+ const configPath = getGlobalConfigPath();
42
+ try {
43
+ if (!fs.existsSync(configPath)) {
44
+ const defaultCfg = createDefaultConfig();
45
+ cachedConfig = defaultCfg;
46
+ cacheTimestamp = now;
47
+ return defaultCfg;
48
+ }
49
+ const content = fs.readFileSync(configPath, 'utf-8');
50
+ const parsed = JSON.parse(content);
51
+ if (!parsed || typeof parsed !== 'object') {
52
+ return createDefaultConfig();
53
+ }
54
+ const config = parsed;
55
+ if (!config.version) {
56
+ config.version = '1';
57
+ }
58
+ cachedConfig = config;
59
+ cacheTimestamp = now;
60
+ return config;
61
+ }
62
+ catch {
63
+ return createDefaultConfig();
64
+ }
65
+ }
66
+ export function writeGlobalConfig(config) {
67
+ const vibeDir = getVibeDir();
68
+ if (!fs.existsSync(vibeDir)) {
69
+ fs.mkdirSync(vibeDir, { recursive: true, mode: DIR_PERMISSIONS });
70
+ }
71
+ const configPath = getGlobalConfigPath();
72
+ fs.writeFileSync(configPath, JSON.stringify(config, null, 2), { mode: FILE_PERMISSIONS });
73
+ invalidateCache();
74
+ }
75
+ function deepMerge(target, source) {
76
+ const result = { ...target };
77
+ for (const key of Object.keys(source)) {
78
+ const srcVal = source[key];
79
+ if (srcVal === undefined)
80
+ continue;
81
+ const tgtVal = target[key];
82
+ if (tgtVal && typeof tgtVal === 'object' && !Array.isArray(tgtVal) &&
83
+ srcVal && typeof srcVal === 'object' && !Array.isArray(srcVal)) {
84
+ result[key] = deepMerge(tgtVal, srcVal);
85
+ }
86
+ else {
87
+ result[key] = srcVal;
88
+ }
89
+ }
90
+ return result;
91
+ }
92
+ export function patchGlobalConfig(patch) {
93
+ const current = readGlobalConfig();
94
+ const merged = deepMerge(current, patch);
95
+ merged.version = '1';
96
+ writeGlobalConfig(merged);
97
+ }
98
+ // ─── Credential helpers ─────────────────────────────────────────────
99
+ export function getGptApiKey() {
100
+ return readGlobalConfig().credentials?.gpt?.apiKey ?? null;
101
+ }
102
+ export function getGptOAuthRefreshToken() {
103
+ return readGlobalConfig().credentials?.gpt?.oauthRefreshToken ?? null;
104
+ }
105
+ export function getGeminiApiKey() {
106
+ return readGlobalConfig().credentials?.gemini?.apiKey ?? null;
107
+ }
108
+ export function getGeminiOAuthRefreshToken() {
109
+ return readGlobalConfig().credentials?.gemini?.oauthRefreshToken ?? null;
110
+ }
111
+ // ─── Model helpers ──────────────────────────────────────────────────
112
+ export function getModelOverride(key) {
113
+ const models = readGlobalConfig().models;
114
+ if (!models)
115
+ return undefined;
116
+ return models[key];
117
+ }
118
+ // ─── Migration ──────────────────────────────────────────────────────
119
+ /** 기존 %APPDATA%/vibe 경로 (Windows) 또는 ~/.config/vibe (Linux/Mac) */
120
+ function getLegacyConfigDir() {
121
+ if (process.platform === 'win32') {
122
+ return path.join(process.env.APPDATA || path.join(os.homedir(), 'AppData', 'Roaming'), 'vibe');
123
+ }
124
+ return path.join(process.env.XDG_CONFIG_HOME || path.join(os.homedir(), '.config'), 'vibe');
125
+ }
126
+ function readJsonSafe(filePath) {
127
+ try {
128
+ if (!fs.existsSync(filePath))
129
+ return null;
130
+ return JSON.parse(fs.readFileSync(filePath, 'utf-8'));
131
+ }
132
+ catch {
133
+ return null;
134
+ }
135
+ }
136
+ function parseEnvFile(envPath) {
137
+ const result = {};
138
+ try {
139
+ if (!fs.existsSync(envPath))
140
+ return result;
141
+ const content = fs.readFileSync(envPath, 'utf-8');
142
+ for (const line of content.split('\n')) {
143
+ const trimmed = line.trim();
144
+ if (!trimmed || trimmed.startsWith('#'))
145
+ continue;
146
+ const eqIdx = trimmed.indexOf('=');
147
+ if (eqIdx < 0)
148
+ continue;
149
+ const key = trimmed.slice(0, eqIdx).trim();
150
+ let val = trimmed.slice(eqIdx + 1).trim();
151
+ if (!val.startsWith('"') && !val.startsWith("'")) {
152
+ const hashIdx = val.indexOf('#');
153
+ if (hashIdx > 0)
154
+ val = val.slice(0, hashIdx).trim();
155
+ }
156
+ if ((val.startsWith('"') && val.endsWith('"')) || (val.startsWith("'") && val.endsWith("'"))) {
157
+ val = val.slice(1, -1);
158
+ }
159
+ if (val)
160
+ result[key] = val;
161
+ }
162
+ }
163
+ catch { /* ignore */ }
164
+ return result;
165
+ }
166
+ function deleteFileSafe(filePath) {
167
+ try {
168
+ if (fs.existsSync(filePath))
169
+ fs.unlinkSync(filePath);
170
+ }
171
+ catch { /* ignore */ }
172
+ }
173
+ /**
174
+ * 레거시 파일들을 ~/.vibe/config.json 으로 마이그레이션.
175
+ * 마이그레이션 후 기존 파일 삭제.
176
+ */
177
+ export function migrateLegacyFiles() {
178
+ const vibeDir = getVibeDir();
179
+ const legacyDir = getLegacyConfigDir();
180
+ const config = readGlobalConfig();
181
+ let changed = false;
182
+ // 1. ~/.vibe/.env → credentials, models, settings
183
+ const envVars = parseEnvFile(path.join(vibeDir, '.env'));
184
+ if (Object.keys(envVars).length > 0) {
185
+ if (!config.credentials)
186
+ config.credentials = {};
187
+ // GPT credentials
188
+ if (envVars.OPENAI_API_KEY && !config.credentials.gpt?.apiKey) {
189
+ if (!config.credentials.gpt)
190
+ config.credentials.gpt = {};
191
+ config.credentials.gpt.apiKey = envVars.OPENAI_API_KEY;
192
+ changed = true;
193
+ }
194
+ if (envVars.GPT_OAUTH_REFRESH_TOKEN && !config.credentials.gpt?.oauthRefreshToken) {
195
+ if (!config.credentials.gpt)
196
+ config.credentials.gpt = {};
197
+ config.credentials.gpt.oauthRefreshToken = envVars.GPT_OAUTH_REFRESH_TOKEN;
198
+ changed = true;
199
+ }
200
+ // Gemini credentials
201
+ if (envVars.GEMINI_API_KEY && !config.credentials.gemini?.apiKey) {
202
+ if (!config.credentials.gemini)
203
+ config.credentials.gemini = {};
204
+ config.credentials.gemini.apiKey = envVars.GEMINI_API_KEY;
205
+ changed = true;
206
+ }
207
+ if (envVars.GEMINI_OAUTH_REFRESH_TOKEN && !config.credentials.gemini?.oauthRefreshToken) {
208
+ if (!config.credentials.gemini)
209
+ config.credentials.gemini = {};
210
+ config.credentials.gemini.oauthRefreshToken = envVars.GEMINI_OAUTH_REFRESH_TOKEN;
211
+ changed = true;
212
+ }
213
+ if (envVars.ANTIGRAVITY_REFRESH_TOKEN && !config.credentials.gemini?.oauthRefreshToken) {
214
+ if (!config.credentials.gemini)
215
+ config.credentials.gemini = {};
216
+ config.credentials.gemini.oauthRefreshToken = envVars.ANTIGRAVITY_REFRESH_TOKEN;
217
+ config.credentials.gemini.oauthSource = 'antigravity';
218
+ changed = true;
219
+ }
220
+ // Model overrides
221
+ if (!config.models)
222
+ config.models = {};
223
+ const modelMap = {
224
+ GPT_MODEL: 'gpt',
225
+ GEMINI_MODEL: 'gemini',
226
+ GEMINI_FLASH_MODEL: 'geminiFlash',
227
+ GEMINI_SEARCH_MODEL: 'geminiSearch',
228
+ GEMINI_OAUTH_MODEL: 'geminiOauth',
229
+ GEMINI_OAUTH_FLASH_MODEL: 'geminiOauthFlash',
230
+ CLAUDE_ARCHITECTURE_MODEL: 'claudeArchitecture',
231
+ CLAUDE_RESEARCH_MODEL: 'claudeResearch',
232
+ CLAUDE_REVIEW_MODEL: 'claudeReview',
233
+ CLAUDE_BACKGROUND_MODEL: 'claudeBackground',
234
+ EMBEDDING_MODEL: 'embedding',
235
+ GEMINI_EMBEDDING_MODEL: 'geminiEmbedding',
236
+ };
237
+ for (const [envKey, modelKey] of Object.entries(modelMap)) {
238
+ if (envVars[envKey] && !config.models[modelKey]) {
239
+ config.models[modelKey] = envVars[envKey];
240
+ changed = true;
241
+ }
242
+ }
243
+ // Telegram from .env
244
+ if (envVars.TELEGRAM_BOT_TOKEN && !config.channels?.telegram?.botToken) {
245
+ if (!config.channels)
246
+ config.channels = {};
247
+ if (!config.channels.telegram)
248
+ config.channels.telegram = {};
249
+ config.channels.telegram.botToken = envVars.TELEGRAM_BOT_TOKEN;
250
+ if (envVars.TELEGRAM_ALLOWED_CHAT_IDS) {
251
+ config.channels.telegram.allowedChatIds = envVars.TELEGRAM_ALLOWED_CHAT_IDS.split(',').map((s) => s.trim());
252
+ }
253
+ changed = true;
254
+ }
255
+ // Slack from .env
256
+ if (envVars.SLACK_BOT_TOKEN && !config.channels?.slack?.botToken) {
257
+ if (!config.channels)
258
+ config.channels = {};
259
+ if (!config.channels.slack)
260
+ config.channels.slack = {};
261
+ config.channels.slack.botToken = envVars.SLACK_BOT_TOKEN;
262
+ if (envVars.SLACK_APP_TOKEN) {
263
+ config.channels.slack.appToken = envVars.SLACK_APP_TOKEN;
264
+ }
265
+ if (envVars.SLACK_ALLOWED_CHANNELS) {
266
+ config.channels.slack.allowedChannelIds = envVars.SLACK_ALLOWED_CHANNELS.split(',').map((s) => s.trim());
267
+ }
268
+ changed = true;
269
+ }
270
+ // Settings
271
+ if (envVars.WORKSPACE_DIR) {
272
+ if (!config.settings)
273
+ config.settings = {};
274
+ if (!config.settings.workspaceDir) {
275
+ config.settings.workspaceDir = envVars.WORKSPACE_DIR;
276
+ changed = true;
277
+ }
278
+ }
279
+ deleteFileSafe(path.join(vibeDir, '.env'));
280
+ }
281
+ // 2. ~/.vibe/telegram.json → channels.telegram
282
+ const telegramConfig = readJsonSafe(path.join(vibeDir, 'telegram.json'));
283
+ if (telegramConfig?.botToken && !config.channels?.telegram) {
284
+ if (!config.channels)
285
+ config.channels = {};
286
+ config.channels.telegram = {
287
+ botToken: telegramConfig.botToken,
288
+ allowedChatIds: telegramConfig.allowedChatIds || [],
289
+ };
290
+ changed = true;
291
+ deleteFileSafe(path.join(vibeDir, 'telegram.json'));
292
+ }
293
+ // 3. ~/.vibe/slack.json → channels.slack
294
+ const slackConfig = readJsonSafe(path.join(vibeDir, 'slack.json'));
295
+ if (slackConfig?.botToken && !config.channels?.slack) {
296
+ if (!config.channels)
297
+ config.channels = {};
298
+ config.channels.slack = {
299
+ botToken: slackConfig.botToken,
300
+ appToken: slackConfig.appToken,
301
+ allowedChannelIds: slackConfig.allowedChannelIds || [],
302
+ };
303
+ changed = true;
304
+ deleteFileSafe(path.join(vibeDir, 'slack.json'));
305
+ }
306
+ // 4. Legacy config dir (AppData/Roaming or ~/.config) → credentials
307
+ if (legacyDir !== vibeDir) {
308
+ // gpt-apikey.json
309
+ const gptKey = readJsonSafe(path.join(legacyDir, 'gpt-apikey.json'));
310
+ if (gptKey?.apiKey && !config.credentials?.gpt?.apiKey) {
311
+ if (!config.credentials)
312
+ config.credentials = {};
313
+ if (!config.credentials.gpt)
314
+ config.credentials.gpt = {};
315
+ config.credentials.gpt.apiKey = gptKey.apiKey;
316
+ changed = true;
317
+ }
318
+ deleteFileSafe(path.join(legacyDir, 'gpt-apikey.json'));
319
+ // gemini-apikey.json
320
+ const geminiKey = readJsonSafe(path.join(legacyDir, 'gemini-apikey.json'));
321
+ if (geminiKey?.apiKey && !config.credentials?.gemini?.apiKey) {
322
+ if (!config.credentials)
323
+ config.credentials = {};
324
+ if (!config.credentials.gemini)
325
+ config.credentials.gemini = {};
326
+ config.credentials.gemini.apiKey = geminiKey.apiKey;
327
+ changed = true;
328
+ }
329
+ deleteFileSafe(path.join(legacyDir, 'gemini-apikey.json'));
330
+ // gpt-auth.json
331
+ deleteFileSafe(path.join(legacyDir, 'gpt-auth.json'));
332
+ // OAuth cache 이동 (legacyDir/oauth → vibeDir/oauth)
333
+ const legacyOauthDir = path.join(legacyDir, 'oauth');
334
+ const newOauthDir = path.join(vibeDir, 'oauth');
335
+ if (fs.existsSync(legacyOauthDir) && !fs.existsSync(newOauthDir)) {
336
+ try {
337
+ fs.cpSync(legacyOauthDir, newOauthDir, { recursive: true });
338
+ fs.rmSync(legacyOauthDir, { recursive: true, force: true });
339
+ changed = true;
340
+ }
341
+ catch { /* ignore */ }
342
+ }
343
+ }
344
+ // 5. ~/.vibe/ 내 직접 존재하는 레거시 파일도 처리
345
+ const gptKeyInVibe = readJsonSafe(path.join(vibeDir, 'gpt-apikey.json'));
346
+ if (gptKeyInVibe?.apiKey && !config.credentials?.gpt?.apiKey) {
347
+ if (!config.credentials)
348
+ config.credentials = {};
349
+ if (!config.credentials.gpt)
350
+ config.credentials.gpt = {};
351
+ config.credentials.gpt.apiKey = gptKeyInVibe.apiKey;
352
+ changed = true;
353
+ }
354
+ deleteFileSafe(path.join(vibeDir, 'gpt-apikey.json'));
355
+ const geminiKeyInVibe = readJsonSafe(path.join(vibeDir, 'gemini-apikey.json'));
356
+ if (geminiKeyInVibe?.apiKey && !config.credentials?.gemini?.apiKey) {
357
+ if (!config.credentials)
358
+ config.credentials = {};
359
+ if (!config.credentials.gemini)
360
+ config.credentials.gemini = {};
361
+ config.credentials.gemini.apiKey = geminiKeyInVibe.apiKey;
362
+ changed = true;
363
+ }
364
+ deleteFileSafe(path.join(vibeDir, 'gemini-apikey.json'));
365
+ deleteFileSafe(path.join(vibeDir, 'gpt-auth.json'));
366
+ if (changed) {
367
+ writeGlobalConfig(config);
368
+ }
369
+ }
370
+ //# sourceMappingURL=GlobalConfigManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GlobalConfigManager.js","sourceRoot":"","sources":["../../../../src/infra/lib/config/GlobalConfigManager.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"EmbeddingProvider.d.ts","sourceRoot":"","sources":["../../../../src/infra/lib/embedding/EmbeddingProvider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,iBAAiB,EACjB,uBAAuB,EACxB,MAAM,YAAY,CAAC;AAQpB,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAA0B;gBAE5B,MAAM,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC;IAOrD;;OAEG;IACI,WAAW,IAAI,OAAO;IAI7B;;OAEG;IACU,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC;YAcjD,gBAAgB;CAuD/B"}
1
+ {"version":3,"file":"EmbeddingProvider.d.ts","sourceRoot":"","sources":["../../../../src/infra/lib/embedding/EmbeddingProvider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,iBAAiB,EACjB,uBAAuB,EACxB,MAAM,YAAY,CAAC;AASpB,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAA0B;gBAE5B,MAAM,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC;IAOrD;;OAEG;IACI,WAAW,IAAI,OAAO;IAI7B;;OAEG;IACU,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC;YAcjD,gBAAgB;CAuD/B"}
@@ -4,6 +4,7 @@
4
4
  * API 키 없으면 isAvailable() = false → graceful degradation.
5
5
  */
6
6
  import { DEFAULT_EMBEDDING_DIMENSIONS, EMBEDDING_API_TIMEOUT_MS, GPT_EMBEDDING_BASE_URL, GPT_EMBEDDING_MODEL, } from './types.js';
7
+ import { getGptApiKey } from '../config/GlobalConfigManager.js';
7
8
  export class EmbeddingProvider {
8
9
  config;
9
10
  constructor(config) {
@@ -16,7 +17,7 @@ export class EmbeddingProvider {
16
17
  * API 키가 설정되어 있는지 확인
17
18
  */
18
19
  isAvailable() {
19
- return Boolean(process.env.OPENAI_API_KEY);
20
+ return Boolean(getGptApiKey() || process.env.OPENAI_API_KEY);
20
21
  }
21
22
  /**
22
23
  * 텍스트 배열을 임베딩 벡터로 변환
@@ -31,7 +32,7 @@ export class EmbeddingProvider {
31
32
  return this.callGptEmbedding(texts);
32
33
  }
33
34
  async callGptEmbedding(texts) {
34
- const apiKey = process.env.OPENAI_API_KEY;
35
+ const apiKey = getGptApiKey() || process.env.OPENAI_API_KEY;
35
36
  if (!apiKey)
36
37
  throw new Error('OPENAI_API_KEY not set');
37
38
  const controller = new AbortController();
@@ -1 +1 @@
1
- {"version":3,"file":"EmbeddingProvider.js","sourceRoot":"","sources":["../../../../src/infra/lib/embedding/EmbeddingProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EmbeddingProvider.js","sourceRoot":"","sources":["../../../../src/infra/lib/embedding/EmbeddingProvider.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@
15
15
  */
16
16
  import type { AuthInfo } from './types.js';
17
17
  /**
18
- * API Key 가져오기 (환경변수 우선 → 전역 저장소 fallback)
18
+ * API Key 가져오기 (config.json 우선 → 환경변수 fallback)
19
19
  */
20
20
  export declare function getApiKeyFromConfig(): string | null;
21
21
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../../src/infra/lib/gemini/auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAqBH,OAAO,KAAK,EAAE,QAAQ,EAAoB,MAAM,YAAY,CAAC;AAoD7D;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,GAAG,IAAI,CAgBnD;AA4WD;;GAEG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,QAAQ,CAAC,CAUrD;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAOtE;AAED,wBAAsB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAOzF"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../../src/infra/lib/gemini/auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AA0BH,OAAO,KAAK,EAAE,QAAQ,EAAoB,MAAM,YAAY,CAAC;AAoD7D;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,GAAG,IAAI,CAKnD;AAyXD;;GAEG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,QAAQ,CAAC,CAUrD;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAOtE;AAED,wBAAsB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAOzF"}
@@ -19,6 +19,7 @@ import os from 'os';
19
19
  import { warnLog } from '../utils.js';
20
20
  import { getAuthProfileManager } from '../llm/auth/AuthProfileManager.js';
21
21
  import { getGlobalConfigDir } from '../llm/auth/ConfigManager.js';
22
+ import { getGeminiApiKey as getGeminiApiKeyFromConfig, getGeminiOAuthRefreshToken, readGlobalConfig, } from '../config/GlobalConfigManager.js';
22
23
  import { ANTIGRAVITY_CLIENT_ID, ANTIGRAVITY_CLIENT_SECRET, GEMINI_CLI_CLIENT_ID, GEMINI_CLI_CLIENT_SECRET, GOOGLE_TOKEN_URL, LOAD_ENDPOINTS, API_VERSION, ANTIGRAVITY_HEADERS, ANTIGRAVITY_METADATA, DEFAULT_PROJECT_ID, } from './constants.js';
23
24
  // 인증 순서: antigravity → gemini-cli → apikey
24
25
  const AUTH_ORDER = ['antigravity', 'gemini-cli', 'apikey'];
@@ -56,24 +57,14 @@ function saveCachedTokens(source, tokens) {
56
57
  }
57
58
  }
58
59
  /**
59
- * API Key 가져오기 (환경변수 우선 → 전역 저장소 fallback)
60
+ * API Key 가져오기 (config.json 우선 → 환경변수 fallback)
60
61
  */
61
62
  export function getApiKeyFromConfig() {
62
- if (process.env.GEMINI_API_KEY) {
63
+ const configKey = getGeminiApiKeyFromConfig();
64
+ if (configKey)
65
+ return configKey;
66
+ if (process.env.GEMINI_API_KEY)
63
67
  return process.env.GEMINI_API_KEY;
64
- }
65
- try {
66
- const globalKeyPath = path.join(getGlobalConfigDir(), 'gemini-apikey.json');
67
- if (fs.existsSync(globalKeyPath)) {
68
- const data = JSON.parse(fs.readFileSync(globalKeyPath, 'utf-8'));
69
- if (typeof data.apiKey === 'string') {
70
- return data.apiKey;
71
- }
72
- }
73
- }
74
- catch (e) {
75
- warnLog('Gemini API key read failed', e);
76
- }
77
68
  return null;
78
69
  }
79
70
  // =============================================
@@ -336,9 +327,14 @@ async function tryAuthMethod(method) {
336
327
  return null;
337
328
  }
338
329
  }
339
- /** Antigravity 인증: 환경변수 → 파일 기반 */
330
+ /** Antigravity 인증: config.json → 환경변수 → 파일 기반 */
340
331
  async function tryAntigravityAuth() {
341
- // 1. 환경변수 우선
332
+ // 0. config.json 우선
333
+ const globalCfg = readGlobalConfig();
334
+ if (globalCfg.credentials?.gemini?.oauthSource === 'antigravity' && globalCfg.credentials.gemini.oauthRefreshToken) {
335
+ return tryAuthWithEnvToken(globalCfg.credentials.gemini.oauthRefreshToken, 'antigravity');
336
+ }
337
+ // 1. 환경변수 fallback
342
338
  const envToken = process.env[ENV_REFRESH_TOKEN_KEYS['antigravity']];
343
339
  if (envToken) {
344
340
  return tryAuthWithEnvToken(envToken, 'antigravity');
@@ -349,9 +345,15 @@ async function tryAntigravityAuth() {
349
345
  return null;
350
346
  return tryAuthWithFileCreds(creds, 'antigravity', ANTIGRAVITY_CLIENT_ID, ANTIGRAVITY_CLIENT_SECRET);
351
347
  }
352
- /** Gemini CLI 인증: 환경변수 → 파일 기반 */
348
+ /** Gemini CLI 인증: config.json → 환경변수 → 파일 기반 */
353
349
  async function tryGeminiCliAuth() {
354
- // 1. 환경변수 우선
350
+ // 0. config.json 우선 (oauthSource가 gemini-cli이거나 미지정인 경우)
351
+ const cfgToken = getGeminiOAuthRefreshToken();
352
+ const cfgSource = readGlobalConfig().credentials?.gemini?.oauthSource;
353
+ if (cfgToken && cfgSource !== 'antigravity') {
354
+ return tryAuthWithEnvToken(cfgToken, 'gemini-cli');
355
+ }
356
+ // 1. 환경변수 fallback
355
357
  const envToken = process.env[ENV_REFRESH_TOKEN_KEYS['gemini-cli']];
356
358
  if (envToken) {
357
359
  return tryAuthWithEnvToken(envToken, 'gemini-cli');
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../../src/infra/lib/gemini/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../../src/infra/lib/gemini/auth.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../../../src/infra/lib/gemini/chat.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAWH,OAAO,KAAK,EACV,eAAe,EACf,WAAW,EACX,YAAY,EACZ,WAAW,EAGZ,MAAM,YAAY,CAAC;AAMpB,wBAAgB,eAAe,IAAI,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAsBjE;AAED,0CAA0C;AAC1C,eAAO,MAAM,aAAa,iCAAoB,CAAC;AAE/C,eAAO,MAAM,aAAa,iBAAiB,CAAC;AAoY5C;;;;;;GAMG;AACH,wBAAsB,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CA2CtE;AAED;;;GAGG;AACH,wBAAuB,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,cAAc,CAAC,WAAW,CAAC,CAqDnF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,eAAe,EAAE,CAEtD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAEpE;AAED;;GAEG;AACH,wBAAsB,GAAG,CACvB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,IAAI,CAAC,WAAW,EAAE,UAAU,CAAM,GAC1C,OAAO,CAAC,MAAM,CAAC,CAMjB;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAM9D"}
1
+ {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../../../src/infra/lib/gemini/chat.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAYH,OAAO,KAAK,EACV,eAAe,EACf,WAAW,EACX,YAAY,EACZ,WAAW,EAGZ,MAAM,YAAY,CAAC;AAMpB,wBAAgB,eAAe,IAAI,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAsBjE;AAED,0CAA0C;AAC1C,eAAO,MAAM,aAAa,iCAAoB,CAAC;AAE/C,eAAO,MAAM,aAAa,iBAAiB,CAAC;AAoY5C;;;;;;GAMG;AACH,wBAAsB,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CA2CtE;AAED;;;GAGG;AACH,wBAAuB,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,cAAc,CAAC,WAAW,CAAC,CAqDnF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,eAAe,EAAE,CAEtD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAEpE;AAED;;GAEG;AACH,wBAAsB,GAAG,CACvB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,IAAI,CAAC,WAAW,EAAE,UAAU,CAAM,GAC1C,OAAO,CAAC,MAAM,CAAC,CAMjB;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAM9D"}
@@ -9,15 +9,16 @@
9
9
  */
10
10
  import { sleep } from '../utils.js';
11
11
  import { getAuthInfo, getApiKeyFromConfig } from './auth.js';
12
+ import { getModelOverride } from '../config/GlobalConfigManager.js';
12
13
  import { ENDPOINT_FALLBACKS, API_VERSION, ANTIGRAVITY_HEADERS, MAX_RETRIES, RETRY_BASE_DELAY_MS, } from './constants.js';
13
14
  // =============================================
14
15
  // 모델 레지스트리
15
16
  // =============================================
16
17
  export function getGeminiModels() {
17
- const proId = process.env.GEMINI_MODEL ?? '';
18
- const flashId = process.env.GEMINI_FLASH_MODEL ?? '';
19
- const oauthProId = process.env.GEMINI_OAUTH_MODEL ?? proId.replace(/-preview$/, '');
20
- const oauthFlashId = process.env.GEMINI_OAUTH_FLASH_MODEL ?? flashId.replace(/-preview$/, '');
18
+ const proId = getModelOverride('gemini') ?? process.env.GEMINI_MODEL ?? '';
19
+ const flashId = getModelOverride('geminiFlash') ?? process.env.GEMINI_FLASH_MODEL ?? '';
20
+ const oauthProId = getModelOverride('geminiOauth') ?? process.env.GEMINI_OAUTH_MODEL ?? proId.replace(/-preview$/, '');
21
+ const oauthFlashId = getModelOverride('geminiOauthFlash') ?? process.env.GEMINI_OAUTH_FLASH_MODEL ?? flashId.replace(/-preview$/, '');
21
22
  return {
22
23
  'gemini-pro': {
23
24
  id: proId,