@su-record/vibe 2.11.0 → 2.12.2
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.en.md +23 -28
- package/README.md +10 -9
- package/dist/cli/auth.d.ts +2 -2
- package/dist/cli/auth.js +12 -12
- package/dist/cli/auth.js.map +1 -1
- package/dist/cli/commands/codex-proxy.d.ts +1 -1
- package/dist/cli/commands/codex-proxy.js +11 -11
- package/dist/cli/commands/codex-proxy.js.map +1 -1
- package/dist/cli/commands/config.d.ts +1 -1
- package/dist/cli/commands/config.d.ts.map +1 -1
- package/dist/cli/commands/config.js +22 -21
- package/dist/cli/commands/config.js.map +1 -1
- package/dist/cli/commands/info.d.ts.map +1 -1
- package/dist/cli/commands/info.js +9 -7
- package/dist/cli/commands/info.js.map +1 -1
- package/dist/cli/commands/info.test.d.ts +2 -0
- package/dist/cli/commands/info.test.d.ts.map +1 -0
- package/dist/cli/commands/info.test.js +41 -0
- package/dist/cli/commands/info.test.js.map +1 -0
- package/dist/cli/commands/init.d.ts +2 -2
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +20 -16
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/setup.d.ts +1 -1
- package/dist/cli/commands/setup.js +24 -24
- package/dist/cli/commands/setup.js.map +1 -1
- package/dist/cli/commands/skills.d.ts.map +1 -1
- package/dist/cli/commands/skills.js +8 -7
- package/dist/cli/commands/skills.js.map +1 -1
- package/dist/cli/commands/update.d.ts.map +1 -1
- package/dist/cli/commands/update.js +28 -16
- package/dist/cli/commands/update.js.map +1 -1
- package/dist/cli/commands/upgrade.d.ts +7 -0
- package/dist/cli/commands/upgrade.d.ts.map +1 -1
- package/dist/cli/commands/upgrade.js +30 -3
- package/dist/cli/commands/upgrade.js.map +1 -1
- package/dist/cli/commands/upgrade.test.d.ts +2 -0
- package/dist/cli/commands/upgrade.test.d.ts.map +1 -0
- package/dist/cli/commands/upgrade.test.js +15 -0
- package/dist/cli/commands/upgrade.test.js.map +1 -0
- package/dist/cli/index.d.ts +1 -1
- package/dist/cli/index.js +23 -24
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/llm/antigravity-commands.d.ts +25 -0
- package/dist/cli/llm/antigravity-commands.d.ts.map +1 -0
- package/dist/cli/llm/antigravity-commands.js +142 -0
- package/dist/cli/llm/antigravity-commands.js.map +1 -0
- package/dist/cli/llm/claude-commands.d.ts.map +1 -1
- package/dist/cli/llm/claude-commands.js +3 -1
- package/dist/cli/llm/claude-commands.js.map +1 -1
- package/dist/cli/llm/config.js +7 -7
- package/dist/cli/llm/config.js.map +1 -1
- package/dist/cli/llm/gemini-commands.d.ts.map +1 -1
- package/dist/cli/llm/gemini-commands.js +7 -4
- package/dist/cli/llm/gemini-commands.js.map +1 -1
- package/dist/cli/llm/gpt-commands.d.ts.map +1 -1
- package/dist/cli/llm/gpt-commands.js +3 -3
- package/dist/cli/llm/gpt-commands.js.map +1 -1
- package/dist/cli/llm/help.js +4 -4
- package/dist/cli/llm/index.d.ts +1 -1
- package/dist/cli/llm/index.d.ts.map +1 -1
- package/dist/cli/llm/index.js +1 -1
- package/dist/cli/llm/index.js.map +1 -1
- package/dist/cli/llm.d.ts +2 -2
- package/dist/cli/llm.js +2 -2
- package/dist/cli/postinstall/constants.js +6 -6
- package/dist/cli/postinstall/constants.js.map +1 -1
- package/dist/cli/postinstall/inline-skills.js +5 -5
- package/dist/cli/postinstall/inline-skills.js.map +1 -1
- package/dist/cli/postinstall/main.d.ts.map +1 -1
- package/dist/cli/postinstall/main.js +14 -9
- package/dist/cli/postinstall/main.js.map +1 -1
- package/dist/cli/setup/CodexHooks.d.ts +20 -0
- package/dist/cli/setup/CodexHooks.d.ts.map +1 -0
- package/dist/cli/setup/CodexHooks.js +50 -0
- package/dist/cli/setup/CodexHooks.js.map +1 -0
- package/dist/cli/setup/CodexHooks.test.d.ts +2 -0
- package/dist/cli/setup/CodexHooks.test.d.ts.map +1 -0
- package/dist/cli/setup/CodexHooks.test.js +23 -0
- package/dist/cli/setup/CodexHooks.test.js.map +1 -0
- package/dist/cli/setup/LegacyMigration.js +2 -2
- package/dist/cli/setup/ProjectSetup.d.ts +4 -4
- package/dist/cli/setup/ProjectSetup.d.ts.map +1 -1
- package/dist/cli/setup/ProjectSetup.js +21 -19
- package/dist/cli/setup/ProjectSetup.js.map +1 -1
- package/dist/cli/setup/index.d.ts +1 -0
- package/dist/cli/setup/index.d.ts.map +1 -1
- package/dist/cli/setup/index.js +1 -0
- package/dist/cli/setup/index.js.map +1 -1
- package/dist/cli/setup.d.ts +2 -1
- package/dist/cli/setup.d.ts.map +1 -1
- package/dist/cli/setup.js +2 -1
- package/dist/cli/setup.js.map +1 -1
- package/dist/cli/types.d.ts +7 -9
- package/dist/cli/types.d.ts.map +1 -1
- package/dist/cli/utils/cli-detector.d.ts +5 -5
- package/dist/cli/utils/cli-detector.d.ts.map +1 -1
- package/dist/cli/utils/cli-detector.js +18 -14
- package/dist/cli/utils/cli-detector.js.map +1 -1
- package/dist/cli/utils/cli-detector.test.d.ts +2 -0
- package/dist/cli/utils/cli-detector.test.d.ts.map +1 -0
- package/dist/cli/utils/cli-detector.test.js +51 -0
- package/dist/cli/utils/cli-detector.test.js.map +1 -0
- package/dist/infra/lib/ReviewRace.d.ts +4 -4
- package/dist/infra/lib/ReviewRace.d.ts.map +1 -1
- package/dist/infra/lib/ReviewRace.js +16 -16
- package/dist/infra/lib/ReviewRace.js.map +1 -1
- package/dist/infra/lib/SkillRepository.js +7 -7
- package/dist/infra/lib/antigravity/auth.d.ts +18 -0
- package/dist/infra/lib/antigravity/auth.d.ts.map +1 -0
- package/dist/infra/lib/antigravity/auth.js +32 -0
- package/dist/infra/lib/antigravity/auth.js.map +1 -0
- package/dist/infra/lib/antigravity/capabilities.d.ts +28 -0
- package/dist/infra/lib/antigravity/capabilities.d.ts.map +1 -0
- package/dist/infra/lib/antigravity/capabilities.js +178 -0
- package/dist/infra/lib/antigravity/capabilities.js.map +1 -0
- package/dist/infra/lib/antigravity/chat.d.ts +34 -0
- package/dist/infra/lib/antigravity/chat.d.ts.map +1 -0
- package/dist/infra/lib/antigravity/chat.js +160 -0
- package/dist/infra/lib/antigravity/chat.js.map +1 -0
- package/dist/infra/lib/antigravity/completion.d.ts +12 -0
- package/dist/infra/lib/antigravity/completion.d.ts.map +1 -0
- package/dist/infra/lib/antigravity/completion.js +13 -0
- package/dist/infra/lib/antigravity/completion.js.map +1 -0
- package/dist/infra/lib/antigravity/constants.d.ts +8 -0
- package/dist/infra/lib/antigravity/constants.d.ts.map +1 -0
- package/dist/infra/lib/antigravity/constants.js +11 -0
- package/dist/infra/lib/antigravity/constants.js.map +1 -0
- package/dist/infra/lib/antigravity/index.d.ts +13 -0
- package/dist/infra/lib/antigravity/index.d.ts.map +1 -0
- package/dist/infra/lib/antigravity/index.js +12 -0
- package/dist/infra/lib/antigravity/index.js.map +1 -0
- package/dist/infra/lib/antigravity/models.d.ts +11 -0
- package/dist/infra/lib/antigravity/models.d.ts.map +1 -0
- package/dist/infra/lib/antigravity/models.js +38 -0
- package/dist/infra/lib/antigravity/models.js.map +1 -0
- package/dist/infra/lib/antigravity/orchestration.d.ts +33 -0
- package/dist/infra/lib/antigravity/orchestration.d.ts.map +1 -0
- package/dist/infra/lib/antigravity/orchestration.js +62 -0
- package/dist/infra/lib/antigravity/orchestration.js.map +1 -0
- package/dist/infra/lib/antigravity/types.d.ts +115 -0
- package/dist/infra/lib/antigravity/types.d.ts.map +1 -0
- package/dist/infra/lib/antigravity/types.js +5 -0
- package/dist/infra/lib/antigravity/types.js.map +1 -0
- package/dist/infra/lib/codex-proxy.d.ts +1 -1
- package/dist/infra/lib/codex-proxy.js +9 -9
- package/dist/infra/lib/codex-proxy.js.map +1 -1
- package/dist/infra/lib/config/GlobalConfigManager.d.ts +6 -3
- package/dist/infra/lib/config/GlobalConfigManager.d.ts.map +1 -1
- package/dist/infra/lib/config/GlobalConfigManager.js +47 -37
- package/dist/infra/lib/config/GlobalConfigManager.js.map +1 -1
- package/dist/infra/lib/config/GlobalConfigManager.test.d.ts +2 -0
- package/dist/infra/lib/config/GlobalConfigManager.test.d.ts.map +1 -0
- package/dist/infra/lib/config/GlobalConfigManager.test.js +9 -0
- package/dist/infra/lib/config/GlobalConfigManager.test.js.map +1 -0
- package/dist/infra/lib/constants.js +1 -1
- package/dist/infra/lib/constants.js.map +1 -1
- package/dist/infra/lib/gemini/auth.d.ts +3 -3
- package/dist/infra/lib/gemini/auth.js +9 -9
- package/dist/infra/lib/gemini/auth.js.map +1 -1
- package/dist/infra/lib/llm/auth/AuthProfileManager.d.ts +3 -3
- package/dist/infra/lib/llm/auth/AuthProfileManager.d.ts.map +1 -1
- package/dist/infra/lib/llm/auth/AuthProfileManager.js.map +1 -1
- package/dist/infra/lib/llm/auth/AuthProfileManager.test.js +8 -8
- package/dist/infra/lib/llm/auth/AuthProfileManager.test.js.map +1 -1
- package/dist/infra/lib/llm/auth/ConfigManager.js +2 -2
- package/dist/infra/lib/llm/auth/ConfigManager.js.map +1 -1
- package/dist/infra/lib/llm/auth/TokenRefresher.d.ts +1 -1
- package/dist/infra/lib/llm/auth/TokenRefresher.js +1 -1
- package/dist/infra/lib/llm/auth/index.js +1 -1
- package/dist/infra/lib/llm/auth/index.js.map +1 -1
- package/dist/infra/lib/llm/index.d.ts +1 -1
- package/dist/infra/lib/llm/index.js +1 -1
- package/dist/infra/lib/llm/types.d.ts +3 -3
- package/dist/infra/lib/llm/types.d.ts.map +1 -1
- package/dist/infra/lib/llm/types.js +1 -1
- package/dist/infra/lib/llm/utils/stream.js +1 -1
- package/dist/infra/lib/llm/utils/stream.js.map +1 -1
- package/dist/infra/lib/llm-availability.d.ts +5 -5
- package/dist/infra/lib/llm-availability.d.ts.map +1 -1
- package/dist/infra/lib/llm-availability.js +13 -10
- package/dist/infra/lib/llm-availability.js.map +1 -1
- package/dist/infra/lib/llm-availability.test.d.ts +2 -0
- package/dist/infra/lib/llm-availability.test.d.ts.map +1 -0
- package/dist/infra/lib/llm-availability.test.js +36 -0
- package/dist/infra/lib/llm-availability.test.js.map +1 -0
- package/dist/infra/lib/ui-ux/UiUxWorkflow.d.ts.map +1 -1
- package/dist/infra/lib/ui-ux/UiUxWorkflow.js +23 -5
- package/dist/infra/lib/ui-ux/UiUxWorkflow.js.map +1 -1
- package/dist/infra/orchestrator/AgentExecutor.d.ts.map +1 -1
- package/dist/infra/orchestrator/AgentExecutor.js +30 -1
- package/dist/infra/orchestrator/AgentExecutor.js.map +1 -1
- package/dist/infra/orchestrator/AgentManifestCache.js +1 -1
- package/dist/infra/orchestrator/AgentManifestCache.js.map +1 -1
- package/dist/infra/orchestrator/BackgroundManager.js +2 -2
- package/dist/infra/orchestrator/BackgroundManager.js.map +1 -1
- package/dist/infra/orchestrator/CodexAgentRuntime.d.ts +12 -0
- package/dist/infra/orchestrator/CodexAgentRuntime.d.ts.map +1 -0
- package/dist/infra/orchestrator/CodexAgentRuntime.js +94 -0
- package/dist/infra/orchestrator/CodexAgentRuntime.js.map +1 -0
- package/dist/infra/orchestrator/CodexAgentRuntime.test.d.ts +2 -0
- package/dist/infra/orchestrator/CodexAgentRuntime.test.d.ts.map +1 -0
- package/dist/infra/orchestrator/CodexAgentRuntime.test.js +37 -0
- package/dist/infra/orchestrator/CodexAgentRuntime.test.js.map +1 -0
- package/dist/infra/orchestrator/LLMCluster.d.ts +11 -11
- package/dist/infra/orchestrator/LLMCluster.d.ts.map +1 -1
- package/dist/infra/orchestrator/LLMCluster.js +22 -22
- package/dist/infra/orchestrator/LLMCluster.js.map +1 -1
- package/dist/infra/orchestrator/MultiLlmResearch.d.ts +3 -3
- package/dist/infra/orchestrator/MultiLlmResearch.d.ts.map +1 -1
- package/dist/infra/orchestrator/MultiLlmResearch.js +17 -17
- package/dist/infra/orchestrator/MultiLlmResearch.js.map +1 -1
- package/dist/infra/orchestrator/SmartRouter.d.ts +2 -2
- package/dist/infra/orchestrator/SmartRouter.js +7 -7
- package/dist/infra/orchestrator/SmartRouter.js.map +1 -1
- package/dist/infra/orchestrator/SmartRouter.test.js +74 -74
- package/dist/infra/orchestrator/SmartRouter.test.js.map +1 -1
- package/dist/infra/orchestrator/agentDiscovery.d.ts +1 -1
- package/dist/infra/orchestrator/agentDiscovery.js +4 -4
- package/dist/infra/orchestrator/agentDiscovery.js.map +1 -1
- package/dist/infra/orchestrator/index.d.ts +17 -17
- package/dist/infra/orchestrator/index.d.ts.map +1 -1
- package/dist/infra/orchestrator/index.js +30 -30
- package/dist/infra/orchestrator/index.js.map +1 -1
- package/dist/infra/orchestrator/orchestrator.d.ts +4 -4
- package/dist/infra/orchestrator/orchestrator.d.ts.map +1 -1
- package/dist/infra/orchestrator/orchestrator.js +5 -5
- package/dist/infra/orchestrator/orchestrator.js.map +1 -1
- package/dist/infra/orchestrator/parallelResearch.d.ts.map +1 -1
- package/dist/infra/orchestrator/parallelResearch.js +11 -0
- package/dist/infra/orchestrator/parallelResearch.js.map +1 -1
- package/dist/infra/orchestrator/types.d.ts +7 -8
- package/dist/infra/orchestrator/types.d.ts.map +1 -1
- package/dist/infra/orchestrator/types.js +17 -18
- package/dist/infra/orchestrator/types.js.map +1 -1
- package/dist/tools/spec/specGenerator.d.ts +1 -1
- package/dist/tools/spec/specGenerator.js +1 -1
- package/hooks/antigravity-hooks.json +73 -0
- package/hooks/scripts/__tests__/codex-hook-adapter.test.js +31 -0
- package/hooks/scripts/__tests__/hook-payload.test.js +29 -0
- package/hooks/scripts/__tests__/llm-orchestrate-antigravity.test.js +63 -0
- package/hooks/scripts/codex-hook-adapter.js +124 -0
- package/hooks/scripts/codex-review-gate.js +7 -3
- package/hooks/scripts/devlog-gen.js +1 -1
- package/hooks/scripts/hook-payload.js +64 -0
- package/hooks/scripts/lib/dispatcher.js +20 -0
- package/hooks/scripts/llm-orchestrate.js +40 -44
- package/hooks/scripts/prompt-dispatcher.js +9 -9
- package/hooks/scripts/stop-notify.js +1 -1
- package/hooks/scripts/utils.js +1 -1
- package/package.json +1 -1
- package/skills/brand-assets/SKILL.md +11 -11
- package/skills/docs/SKILL.md +10 -5
- package/skills/event-comms/SKILL.md +1 -1
- package/skills/event-ops/SKILL.md +4 -4
- package/skills/spec/SKILL.md +29 -29
- package/skills/spec-review/SKILL.md +23 -23
- package/skills/tool-fallback/SKILL.md +2 -2
- package/skills/tool-fallback/rubrics/fallback-chain.md +2 -2
- package/skills/vibe.event/SKILL.md +1 -1
- package/skills/vibe.review/SKILL.md +13 -13
- package/skills/vibe.run/SKILL.md +30 -30
- package/skills/vibe.spec/SKILL.md +4 -4
- package/skills/vibe.utils/SKILL.md +17 -17
- package/hooks/gemini-hooks.json +0 -73
|
@@ -7,30 +7,30 @@ import { SmartRouter, AllProvidersFailedError, getSmartRouter } from './SmartRou
|
|
|
7
7
|
vi.mock('../lib/gpt/index.js', () => ({
|
|
8
8
|
coreGptOrchestrate: vi.fn(),
|
|
9
9
|
}));
|
|
10
|
-
vi.mock('../lib/
|
|
11
|
-
|
|
10
|
+
vi.mock('../lib/antigravity/index.js', () => ({
|
|
11
|
+
coreAntigravityOrchestrate: vi.fn(),
|
|
12
12
|
}));
|
|
13
13
|
vi.mock('../lib/utils.js', () => ({
|
|
14
14
|
debugLog: vi.fn(),
|
|
15
15
|
}));
|
|
16
|
-
// Dynamic priority: codex=true,
|
|
17
|
-
// architecture → ['gpt', '
|
|
16
|
+
// Dynamic priority: codex=true, antigravity=true
|
|
17
|
+
// architecture → ['gpt', 'antigravity', 'claude']
|
|
18
18
|
// debugging → ['gpt', 'claude']
|
|
19
19
|
// code-analysis → ['gpt', 'claude']
|
|
20
20
|
// code-gen → ['gpt', 'claude']
|
|
21
|
-
// code-review → ['gpt', '
|
|
22
|
-
// web-search → ['
|
|
23
|
-
// uiux → ['
|
|
24
|
-
// general → ['claude'] (not in any codex/
|
|
25
|
-
// reasoning → ['gpt', '
|
|
21
|
+
// code-review → ['gpt', 'antigravity', 'claude']
|
|
22
|
+
// web-search → ['antigravity', 'claude']
|
|
23
|
+
// uiux → ['antigravity', 'claude']
|
|
24
|
+
// general → ['claude'] (not in any codex/antigravity list)
|
|
25
|
+
// reasoning → ['gpt', 'antigravity', 'claude']
|
|
26
26
|
vi.mock('../lib/llm-availability.js', () => ({
|
|
27
|
-
detectLlmAvailability: vi.fn(() => ({ codex: true,
|
|
27
|
+
detectLlmAvailability: vi.fn(() => ({ codex: true, antigravity: true })),
|
|
28
28
|
}));
|
|
29
29
|
// Import mocked modules
|
|
30
30
|
import { coreGptOrchestrate } from '../lib/gpt/index.js';
|
|
31
|
-
import {
|
|
31
|
+
import { coreAntigravityOrchestrate } from '../lib/antigravity/index.js';
|
|
32
32
|
const mockGpt = coreGptOrchestrate;
|
|
33
|
-
const
|
|
33
|
+
const mockAntigravity = coreAntigravityOrchestrate;
|
|
34
34
|
describe('SmartRouter', () => {
|
|
35
35
|
let router;
|
|
36
36
|
beforeEach(() => {
|
|
@@ -54,7 +54,7 @@ describe('SmartRouter', () => {
|
|
|
54
54
|
expect(result.success).toBe(true);
|
|
55
55
|
expect(result.usedFallback).toBe(false);
|
|
56
56
|
expect(mockGpt).toHaveBeenCalledOnce();
|
|
57
|
-
expect(
|
|
57
|
+
expect(mockAntigravity).not.toHaveBeenCalled();
|
|
58
58
|
});
|
|
59
59
|
it('should use GPT first for debugging tasks', async () => {
|
|
60
60
|
mockGpt.mockResolvedValueOnce('GPT debug response');
|
|
@@ -73,35 +73,35 @@ describe('SmartRouter', () => {
|
|
|
73
73
|
});
|
|
74
74
|
expect(result.provider).toBe('gpt');
|
|
75
75
|
});
|
|
76
|
-
it('should use
|
|
77
|
-
|
|
76
|
+
it('should use Antigravity first for web-search tasks', async () => {
|
|
77
|
+
mockAntigravity.mockResolvedValueOnce('Antigravity search result');
|
|
78
78
|
const result = await router.route({
|
|
79
79
|
type: 'web-search',
|
|
80
80
|
prompt: 'Search for something',
|
|
81
81
|
});
|
|
82
|
-
expect(result.provider).toBe('
|
|
83
|
-
expect(result.content).toBe('
|
|
84
|
-
expect(
|
|
82
|
+
expect(result.provider).toBe('antigravity');
|
|
83
|
+
expect(result.content).toBe('Antigravity search result');
|
|
84
|
+
expect(mockAntigravity).toHaveBeenCalledOnce();
|
|
85
85
|
expect(mockGpt).not.toHaveBeenCalled();
|
|
86
86
|
});
|
|
87
|
-
it('should use
|
|
88
|
-
|
|
87
|
+
it('should use Antigravity first for uiux tasks', async () => {
|
|
88
|
+
mockAntigravity.mockResolvedValueOnce('Antigravity UI feedback');
|
|
89
89
|
const result = await router.route({
|
|
90
90
|
type: 'uiux',
|
|
91
91
|
prompt: 'Review this UI',
|
|
92
92
|
});
|
|
93
|
-
expect(result.provider).toBe('
|
|
94
|
-
expect(result.content).toBe('
|
|
93
|
+
expect(result.provider).toBe('antigravity');
|
|
94
|
+
expect(result.content).toBe('Antigravity UI feedback');
|
|
95
95
|
});
|
|
96
96
|
it('should respect preferredLlm override', async () => {
|
|
97
|
-
|
|
97
|
+
mockAntigravity.mockResolvedValueOnce('Antigravity response');
|
|
98
98
|
const result = await router.route({
|
|
99
99
|
type: 'architecture', // normally GPT-first
|
|
100
100
|
prompt: 'Review this',
|
|
101
|
-
preferredLlm: '
|
|
101
|
+
preferredLlm: 'antigravity',
|
|
102
102
|
});
|
|
103
|
-
expect(result.provider).toBe('
|
|
104
|
-
expect(result.content).toBe('
|
|
103
|
+
expect(result.provider).toBe('antigravity');
|
|
104
|
+
expect(result.content).toBe('Antigravity response');
|
|
105
105
|
expect(mockGpt).not.toHaveBeenCalled();
|
|
106
106
|
});
|
|
107
107
|
it('should use GPT first for code-review tasks', async () => {
|
|
@@ -123,38 +123,38 @@ describe('SmartRouter', () => {
|
|
|
123
123
|
});
|
|
124
124
|
// ─── Fallback Chain ───
|
|
125
125
|
describe('fallback chain', () => {
|
|
126
|
-
it('should fall back to
|
|
127
|
-
// architecture: ['gpt', '
|
|
126
|
+
it('should fall back to Antigravity when GPT fails for architecture', async () => {
|
|
127
|
+
// architecture: ['gpt', 'antigravity', 'claude']
|
|
128
128
|
mockGpt.mockRejectedValueOnce(new Error('GPT rate limit exceeded'));
|
|
129
|
-
|
|
129
|
+
mockAntigravity.mockResolvedValueOnce('Antigravity fallback response');
|
|
130
130
|
const result = await router.route({
|
|
131
131
|
type: 'architecture',
|
|
132
132
|
prompt: 'Review this',
|
|
133
133
|
maxRetries: 0,
|
|
134
134
|
});
|
|
135
|
-
expect(result.provider).toBe('
|
|
136
|
-
expect(result.content).toBe('
|
|
135
|
+
expect(result.provider).toBe('antigravity');
|
|
136
|
+
expect(result.content).toBe('Antigravity fallback response');
|
|
137
137
|
expect(result.usedFallback).toBe(true);
|
|
138
138
|
expect(result.attemptedProviders).toContain('gpt');
|
|
139
|
-
expect(result.attemptedProviders).toContain('
|
|
139
|
+
expect(result.attemptedProviders).toContain('antigravity');
|
|
140
140
|
});
|
|
141
|
-
it('should fall back to GPT when
|
|
142
|
-
// code-review: ['gpt', '
|
|
143
|
-
|
|
141
|
+
it('should fall back to GPT when Antigravity fails for code-review with preferredLlm', async () => {
|
|
142
|
+
// code-review: ['gpt', 'antigravity', 'claude'] — override with preferredLlm=antigravity → ['antigravity', 'gpt', 'claude']
|
|
143
|
+
mockAntigravity.mockRejectedValueOnce(new Error('Antigravity quota exhausted'));
|
|
144
144
|
mockGpt.mockResolvedValueOnce('GPT fallback');
|
|
145
145
|
const result = await router.route({
|
|
146
146
|
type: 'code-review',
|
|
147
147
|
prompt: 'Review code',
|
|
148
|
-
preferredLlm: '
|
|
148
|
+
preferredLlm: 'antigravity',
|
|
149
149
|
maxRetries: 0,
|
|
150
150
|
});
|
|
151
151
|
expect(result.provider).toBe('gpt');
|
|
152
152
|
expect(result.usedFallback).toBe(true);
|
|
153
153
|
});
|
|
154
154
|
it('should skip retries for auth errors and move to next provider', async () => {
|
|
155
|
-
// architecture: ['gpt', '
|
|
155
|
+
// architecture: ['gpt', 'antigravity', 'claude']
|
|
156
156
|
mockGpt.mockRejectedValueOnce(new Error('No API key set'));
|
|
157
|
-
|
|
157
|
+
mockAntigravity.mockResolvedValueOnce('Antigravity response');
|
|
158
158
|
const result = await router.route({
|
|
159
159
|
type: 'architecture',
|
|
160
160
|
prompt: 'Analyze code',
|
|
@@ -162,13 +162,13 @@ describe('SmartRouter', () => {
|
|
|
162
162
|
});
|
|
163
163
|
// GPT should only be called once (no retries for auth errors)
|
|
164
164
|
expect(mockGpt).toHaveBeenCalledTimes(1);
|
|
165
|
-
expect(result.provider).toBe('
|
|
165
|
+
expect(result.provider).toBe('antigravity');
|
|
166
166
|
expect(result.usedFallback).toBe(true);
|
|
167
167
|
});
|
|
168
168
|
it('should skip retries for rate limit errors (429)', async () => {
|
|
169
|
-
// code-review: ['gpt', '
|
|
169
|
+
// code-review: ['gpt', 'antigravity', 'claude']
|
|
170
170
|
mockGpt.mockRejectedValueOnce(new Error('429 Too Many Requests'));
|
|
171
|
-
|
|
171
|
+
mockAntigravity.mockResolvedValueOnce('OK');
|
|
172
172
|
await router.route({
|
|
173
173
|
type: 'code-review',
|
|
174
174
|
prompt: 'Test',
|
|
@@ -177,7 +177,7 @@ describe('SmartRouter', () => {
|
|
|
177
177
|
expect(mockGpt).toHaveBeenCalledTimes(1);
|
|
178
178
|
});
|
|
179
179
|
it('should retry on transient errors before falling back', async () => {
|
|
180
|
-
// architecture: ['gpt', '
|
|
180
|
+
// architecture: ['gpt', 'antigravity', 'claude']
|
|
181
181
|
mockGpt
|
|
182
182
|
.mockRejectedValueOnce(new Error('Network timeout'))
|
|
183
183
|
.mockRejectedValueOnce(new Error('Network timeout'))
|
|
@@ -192,7 +192,7 @@ describe('SmartRouter', () => {
|
|
|
192
192
|
expect(result.usedFallback).toBe(false);
|
|
193
193
|
});
|
|
194
194
|
it('should use custom systemPrompt when provided', async () => {
|
|
195
|
-
// architecture: ['gpt', '
|
|
195
|
+
// architecture: ['gpt', 'antigravity', 'claude']
|
|
196
196
|
mockGpt.mockResolvedValueOnce('Response');
|
|
197
197
|
await router.route({
|
|
198
198
|
type: 'architecture',
|
|
@@ -202,7 +202,7 @@ describe('SmartRouter', () => {
|
|
|
202
202
|
expect(mockGpt).toHaveBeenCalledWith('Test prompt', 'Custom system prompt', { jsonMode: false });
|
|
203
203
|
});
|
|
204
204
|
it('should use default systemPrompt when not provided', async () => {
|
|
205
|
-
// architecture: ['gpt', '
|
|
205
|
+
// architecture: ['gpt', 'antigravity', 'claude']
|
|
206
206
|
mockGpt.mockResolvedValueOnce('Response');
|
|
207
207
|
await router.route({
|
|
208
208
|
type: 'architecture',
|
|
@@ -214,10 +214,10 @@ describe('SmartRouter', () => {
|
|
|
214
214
|
// ─── Availability Caching (5min TTL) ───
|
|
215
215
|
describe('availability caching', () => {
|
|
216
216
|
it('should skip providers marked as unavailable', async () => {
|
|
217
|
-
// code-review: ['gpt', '
|
|
217
|
+
// code-review: ['gpt', 'antigravity', 'claude']
|
|
218
218
|
// Fail GPT with rate-limit (skip-retry pattern) to quickly mark unavailable
|
|
219
219
|
mockGpt.mockRejectedValue(new Error('GPT server error'));
|
|
220
|
-
|
|
220
|
+
mockAntigravity.mockResolvedValue('Antigravity response');
|
|
221
221
|
// Route 3 times with maxRetries=0 to accumulate 3 error counts on GPT
|
|
222
222
|
await router.route({ type: 'code-review', prompt: 'test1', maxRetries: 0 });
|
|
223
223
|
await router.route({ type: 'code-review', prompt: 'test2', maxRetries: 0 });
|
|
@@ -228,8 +228,8 @@ describe('SmartRouter', () => {
|
|
|
228
228
|
expect(cache.gpt.available).toBe(false);
|
|
229
229
|
// Reset call counts
|
|
230
230
|
mockGpt.mockClear();
|
|
231
|
-
|
|
232
|
-
|
|
231
|
+
mockAntigravity.mockClear();
|
|
232
|
+
mockAntigravity.mockResolvedValueOnce('Antigravity from cache');
|
|
233
233
|
// Next route should skip GPT entirely
|
|
234
234
|
const result = await router.route({
|
|
235
235
|
type: 'code-review',
|
|
@@ -237,12 +237,12 @@ describe('SmartRouter', () => {
|
|
|
237
237
|
maxRetries: 0,
|
|
238
238
|
});
|
|
239
239
|
expect(mockGpt).not.toHaveBeenCalled();
|
|
240
|
-
expect(result.provider).toBe('
|
|
240
|
+
expect(result.provider).toBe('antigravity');
|
|
241
241
|
});
|
|
242
242
|
it('should reset availability after TTL expires', async () => {
|
|
243
|
-
// code-review: ['gpt', '
|
|
243
|
+
// code-review: ['gpt', 'antigravity', 'claude']
|
|
244
244
|
mockGpt.mockRejectedValue(new Error('GPT server error'));
|
|
245
|
-
|
|
245
|
+
mockAntigravity.mockResolvedValue('Antigravity');
|
|
246
246
|
// Accumulate 3 failures
|
|
247
247
|
await router.route({ type: 'code-review', prompt: 'test', maxRetries: 0 });
|
|
248
248
|
await router.route({ type: 'code-review', prompt: 'test', maxRetries: 0 });
|
|
@@ -263,7 +263,7 @@ describe('SmartRouter', () => {
|
|
|
263
263
|
vi.useRealTimers();
|
|
264
264
|
});
|
|
265
265
|
it('should mark provider available on success', async () => {
|
|
266
|
-
// architecture: ['gpt', '
|
|
266
|
+
// architecture: ['gpt', 'antigravity', 'claude']
|
|
267
267
|
mockGpt.mockResolvedValueOnce('GPT OK');
|
|
268
268
|
await router.route({ type: 'architecture', prompt: 'test' });
|
|
269
269
|
const cache = router.getCacheStatus();
|
|
@@ -274,21 +274,21 @@ describe('SmartRouter', () => {
|
|
|
274
274
|
const router2 = new SmartRouter();
|
|
275
275
|
const cache = router2.getCacheStatus();
|
|
276
276
|
expect(cache.gpt.available).toBe(true);
|
|
277
|
-
expect(cache.
|
|
277
|
+
expect(cache.antigravity.available).toBe(true);
|
|
278
278
|
router2.resetCache();
|
|
279
279
|
const reset = router2.getCacheStatus();
|
|
280
280
|
expect(reset.gpt.errorCount).toBe(0);
|
|
281
|
-
expect(reset.
|
|
281
|
+
expect(reset.antigravity.errorCount).toBe(0);
|
|
282
282
|
});
|
|
283
283
|
it('should not cache claude provider availability', async () => {
|
|
284
|
-
// web-search: ['
|
|
285
|
-
|
|
284
|
+
// web-search: ['antigravity', 'claude'] — claude is always considered available
|
|
285
|
+
mockAntigravity.mockRejectedValueOnce(new Error('Antigravity auth'));
|
|
286
286
|
// claude will fail with "Claude fallback - handled by caller"
|
|
287
287
|
// but isUnavailable('claude') always returns false
|
|
288
288
|
await expect(router.route({ type: 'web-search', prompt: 'test', maxRetries: 0 })).rejects.toThrow(AllProvidersFailedError);
|
|
289
289
|
// claude should still be "available" (not cached)
|
|
290
290
|
// Verify by checking that subsequent calls still attempt claude
|
|
291
|
-
|
|
291
|
+
mockAntigravity.mockRejectedValueOnce(new Error('Antigravity auth'));
|
|
292
292
|
const errorPromise = router.route({ type: 'web-search', prompt: 'test', maxRetries: 0 });
|
|
293
293
|
await expect(errorPromise).rejects.toThrow(AllProvidersFailedError);
|
|
294
294
|
});
|
|
@@ -296,9 +296,9 @@ describe('SmartRouter', () => {
|
|
|
296
296
|
// ─── Edge Cases ───
|
|
297
297
|
describe('edge cases', () => {
|
|
298
298
|
it('should throw AllProvidersFailedError when all providers fail', async () => {
|
|
299
|
-
// architecture: ['gpt', '
|
|
299
|
+
// architecture: ['gpt', 'antigravity', 'claude']
|
|
300
300
|
mockGpt.mockRejectedValueOnce(new Error('GPT auth failure'));
|
|
301
|
-
|
|
301
|
+
mockAntigravity.mockRejectedValueOnce(new Error('Antigravity auth failure'));
|
|
302
302
|
await expect(router.route({
|
|
303
303
|
type: 'architecture',
|
|
304
304
|
prompt: 'Test',
|
|
@@ -306,9 +306,9 @@ describe('SmartRouter', () => {
|
|
|
306
306
|
})).rejects.toThrow(AllProvidersFailedError);
|
|
307
307
|
});
|
|
308
308
|
it('AllProvidersFailedError should contain attempted providers and errors', async () => {
|
|
309
|
-
// architecture: ['gpt', '
|
|
309
|
+
// architecture: ['gpt', 'antigravity', 'claude']
|
|
310
310
|
mockGpt.mockRejectedValueOnce(new Error('GPT unauthorized'));
|
|
311
|
-
|
|
311
|
+
mockAntigravity.mockRejectedValueOnce(new Error('Antigravity unauthorized'));
|
|
312
312
|
try {
|
|
313
313
|
await router.route({
|
|
314
314
|
type: 'architecture',
|
|
@@ -321,18 +321,18 @@ describe('SmartRouter', () => {
|
|
|
321
321
|
const error = err;
|
|
322
322
|
expect(error).toBeInstanceOf(AllProvidersFailedError);
|
|
323
323
|
expect(error.attemptedProviders).toContain('gpt');
|
|
324
|
-
expect(error.attemptedProviders).toContain('
|
|
324
|
+
expect(error.attemptedProviders).toContain('antigravity');
|
|
325
325
|
expect(error.errors['gpt']).toContain('GPT unauthorized');
|
|
326
|
-
expect(error.errors['
|
|
326
|
+
expect(error.errors['antigravity']).toContain('Antigravity unauthorized');
|
|
327
327
|
expect(error.duration).toBeGreaterThanOrEqual(0);
|
|
328
328
|
expect(error.name).toBe('AllProvidersFailedError');
|
|
329
329
|
}
|
|
330
330
|
});
|
|
331
331
|
it('should handle claude provider in fallback chain', async () => {
|
|
332
|
-
// architecture: ['gpt', '
|
|
332
|
+
// architecture: ['gpt', 'antigravity', 'claude']
|
|
333
333
|
// claude always throws "Claude fallback - handled by caller"
|
|
334
334
|
mockGpt.mockRejectedValueOnce(new Error('GPT auth'));
|
|
335
|
-
|
|
335
|
+
mockAntigravity.mockRejectedValueOnce(new Error('Antigravity auth'));
|
|
336
336
|
try {
|
|
337
337
|
await router.route({
|
|
338
338
|
type: 'architecture',
|
|
@@ -357,7 +357,7 @@ describe('SmartRouter', () => {
|
|
|
357
357
|
expect(result.duration).toBeGreaterThanOrEqual(0);
|
|
358
358
|
});
|
|
359
359
|
it('should set maxRetries to 2 by default', async () => {
|
|
360
|
-
// architecture: ['gpt', '
|
|
360
|
+
// architecture: ['gpt', 'antigravity', 'claude']
|
|
361
361
|
mockGpt
|
|
362
362
|
.mockRejectedValueOnce(new Error('Transient error 1'))
|
|
363
363
|
.mockRejectedValueOnce(new Error('Transient error 2'))
|
|
@@ -384,9 +384,9 @@ describe('SmartRouter', () => {
|
|
|
384
384
|
// ─── Convenience Methods ───
|
|
385
385
|
describe('convenience methods', () => {
|
|
386
386
|
it('webSearch should route with web-search type', async () => {
|
|
387
|
-
|
|
387
|
+
mockAntigravity.mockResolvedValueOnce('Search results');
|
|
388
388
|
const result = await router.webSearch('test query');
|
|
389
|
-
expect(result.provider).toBe('
|
|
389
|
+
expect(result.provider).toBe('antigravity');
|
|
390
390
|
expect(result.content).toBe('Search results');
|
|
391
391
|
});
|
|
392
392
|
it('architectureReview should route with architecture type', async () => {
|
|
@@ -395,9 +395,9 @@ describe('SmartRouter', () => {
|
|
|
395
395
|
expect(result.provider).toBe('gpt');
|
|
396
396
|
});
|
|
397
397
|
it('uiuxReview should route with uiux type', async () => {
|
|
398
|
-
|
|
398
|
+
mockAntigravity.mockResolvedValueOnce('UI feedback');
|
|
399
399
|
const result = await router.uiuxReview('Review UI');
|
|
400
|
-
expect(result.provider).toBe('
|
|
400
|
+
expect(result.provider).toBe('antigravity');
|
|
401
401
|
});
|
|
402
402
|
it('codeAnalysis should route with code-analysis type', async () => {
|
|
403
403
|
mockGpt.mockResolvedValueOnce('Code analysis');
|
|
@@ -435,10 +435,10 @@ describe('SmartRouter', () => {
|
|
|
435
435
|
// ─── AllProvidersFailedError ───
|
|
436
436
|
describe('AllProvidersFailedError', () => {
|
|
437
437
|
it('should format message with last provider error', () => {
|
|
438
|
-
const error = new AllProvidersFailedError(['gpt', '
|
|
439
|
-
expect(error.message).toContain('
|
|
440
|
-
expect(error.message).toContain('
|
|
441
|
-
expect(error.attemptedProviders).toEqual(['gpt', '
|
|
438
|
+
const error = new AllProvidersFailedError(['gpt', 'antigravity'], { gpt: 'GPT failed', antigravity: 'Antigravity failed' }, 1500);
|
|
439
|
+
expect(error.message).toContain('antigravity');
|
|
440
|
+
expect(error.message).toContain('Antigravity failed');
|
|
441
|
+
expect(error.attemptedProviders).toEqual(['gpt', 'antigravity']);
|
|
442
442
|
expect(error.duration).toBe(1500);
|
|
443
443
|
});
|
|
444
444
|
it('should handle empty providers list', () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SmartRouter.test.js","sourceRoot":"","sources":["../../../src/infra/orchestrator/SmartRouter.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SmartRouter.test.js","sourceRoot":"","sources":["../../../src/infra/orchestrator/SmartRouter.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Agent Discovery - .claude/agents
|
|
2
|
+
* Agent Discovery - .codex/.claude/agents 폴더에서 에이전트 동적 탐색
|
|
3
3
|
*/
|
|
4
4
|
import { promises as fs } from 'fs';
|
|
5
5
|
import path from 'path';
|
|
6
6
|
import { glob } from 'glob';
|
|
7
7
|
import { errorLog } from '../lib/utils.js';
|
|
8
|
-
// 에이전트 디렉토리 우선순위: .claude/agents > agents
|
|
9
|
-
const AGENTS_DIRS = ['.claude/agents', 'agents'];
|
|
8
|
+
// 에이전트 디렉토리 우선순위: .codex/agents > .claude/agents > agents
|
|
9
|
+
const AGENTS_DIRS = ['.codex/agents', '.claude/agents', 'agents'];
|
|
10
10
|
/**
|
|
11
11
|
* 에이전트 마크다운 파일에서 메타데이터 추출
|
|
12
12
|
*/
|
|
@@ -73,7 +73,7 @@ export async function discoverAgents(args) {
|
|
|
73
73
|
return {
|
|
74
74
|
content: [{
|
|
75
75
|
type: 'text',
|
|
76
|
-
text: `No agents directory found. Searched: ${AGENTS_DIRS.join(', ')}. Create agents in .claude/agents
|
|
76
|
+
text: `No agents directory found. Searched: ${AGENTS_DIRS.join(', ')}. Create agents in .codex/agents/, .claude/agents/, or agents/ folder.`
|
|
77
77
|
}]
|
|
78
78
|
};
|
|
79
79
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agentDiscovery.js","sourceRoot":"","sources":["../../../src/infra/orchestrator/agentDiscovery.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAG5B,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,
|
|
1
|
+
{"version":3,"file":"agentDiscovery.js","sourceRoot":"","sources":["../../../src/infra/orchestrator/agentDiscovery.ts"],"names":[],"mappings":"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"}
|
|
@@ -75,11 +75,11 @@ export declare function review(filePaths: string[], techStack?: string[], projec
|
|
|
75
75
|
*/
|
|
76
76
|
export declare function status(): ToolResult;
|
|
77
77
|
/**
|
|
78
|
-
* GPT 질문 (간편 API) - 웹 검색 없음,
|
|
78
|
+
* GPT 질문 (간편 API) - 웹 검색 없음, Antigravity로 위임
|
|
79
79
|
*
|
|
80
80
|
* @example
|
|
81
81
|
* node -e "import('@su-record/vibe/orchestrator').then(o => o.gptSearch('React 19 features')).then(console.log)"
|
|
82
|
-
* @deprecated GPT Codex API는 웹 검색을 지원하지 않습니다.
|
|
82
|
+
* @deprecated GPT Codex API는 웹 검색을 지원하지 않습니다. antigravitySearch를 사용하세요.
|
|
83
83
|
*/
|
|
84
84
|
export declare function gptSearch(query: string): Promise<ToolResult>;
|
|
85
85
|
/**
|
|
@@ -90,29 +90,29 @@ export declare function gptSearch(query: string): Promise<ToolResult>;
|
|
|
90
90
|
*/
|
|
91
91
|
export declare function gpt(prompt: string, systemPrompt?: string): Promise<ToolResult>;
|
|
92
92
|
/**
|
|
93
|
-
*
|
|
93
|
+
* Antigravity 웹 검색 (간편 API)
|
|
94
94
|
*
|
|
95
95
|
* @example
|
|
96
|
-
* node -e "import('@su-record/vibe/orchestrator').then(o => o.
|
|
96
|
+
* node -e "import('@su-record/vibe/orchestrator').then(o => o.antigravitySearch('React 19 features')).then(console.log)"
|
|
97
97
|
*/
|
|
98
|
-
export declare function
|
|
98
|
+
export declare function antigravitySearch(query: string): Promise<ToolResult>;
|
|
99
99
|
/**
|
|
100
|
-
*
|
|
100
|
+
* Antigravity 오케스트레이션 (간편 API)
|
|
101
101
|
*
|
|
102
102
|
* @example
|
|
103
|
-
* node -e "import('@su-record/vibe/orchestrator').then(o => o.
|
|
103
|
+
* node -e "import('@su-record/vibe/orchestrator').then(o => o.antigravity('Review this UI')).then(console.log)"
|
|
104
104
|
*/
|
|
105
|
-
export declare function
|
|
105
|
+
export declare function antigravity(prompt: string, systemPrompt?: string): Promise<ToolResult>;
|
|
106
106
|
/**
|
|
107
107
|
* 멀티 LLM 병렬 쿼리 (간편 API)
|
|
108
|
-
* GPT,
|
|
108
|
+
* GPT, Antigravity 동시 호출
|
|
109
109
|
*
|
|
110
110
|
* @example
|
|
111
111
|
* node -e "import('@su-record/vibe/orchestrator').then(o => o.multiLlm('Review this code')).then(console.log)"
|
|
112
112
|
*/
|
|
113
113
|
export declare function multiLlm(prompt: string, options?: {
|
|
114
114
|
useGpt?: boolean;
|
|
115
|
-
|
|
115
|
+
useAntigravity?: boolean;
|
|
116
116
|
}): Promise<ToolResult>;
|
|
117
117
|
/**
|
|
118
118
|
* LLM 상태 확인 (간편 API)
|
|
@@ -132,7 +132,7 @@ export declare function smartRoute(type: TaskType, prompt: string, systemPrompt?
|
|
|
132
132
|
result: SmartRouteResult;
|
|
133
133
|
}>;
|
|
134
134
|
/**
|
|
135
|
-
* 아키텍처 분석 with fallback (GPT →
|
|
135
|
+
* 아키텍처 분석 with fallback (GPT → Antigravity → Claude)
|
|
136
136
|
*
|
|
137
137
|
* @example
|
|
138
138
|
* node -e "import('@su-record/vibe/orchestrator').then(o => o.smartArchitecture('Review this system design')).then(console.log)"
|
|
@@ -141,7 +141,7 @@ export declare function smartArchitecture(prompt: string): Promise<ToolResult &
|
|
|
141
141
|
result: SmartRouteResult;
|
|
142
142
|
}>;
|
|
143
143
|
/**
|
|
144
|
-
* UI/UX 분석 with fallback (
|
|
144
|
+
* UI/UX 분석 with fallback (Antigravity → GPT → Claude)
|
|
145
145
|
*
|
|
146
146
|
* @example
|
|
147
147
|
* node -e "import('@su-record/vibe/orchestrator').then(o => o.smartUiux('Improve this form UX')).then(console.log)"
|
|
@@ -150,7 +150,7 @@ export declare function smartUiux(prompt: string): Promise<ToolResult & {
|
|
|
150
150
|
result: SmartRouteResult;
|
|
151
151
|
}>;
|
|
152
152
|
/**
|
|
153
|
-
* 코드 분석 with fallback (
|
|
153
|
+
* 코드 분석 with fallback (Antigravity → GPT → Claude)
|
|
154
154
|
*
|
|
155
155
|
* @example
|
|
156
156
|
* node -e "import('@su-record/vibe/orchestrator').then(o => o.smartCodeAnalysis('Analyze this code')).then(console.log)"
|
|
@@ -159,7 +159,7 @@ export declare function smartCodeAnalysis(prompt: string): Promise<ToolResult &
|
|
|
159
159
|
result: SmartRouteResult;
|
|
160
160
|
}>;
|
|
161
161
|
/**
|
|
162
|
-
* 디버깅 with fallback (GPT →
|
|
162
|
+
* 디버깅 with fallback (GPT → Antigravity → Claude)
|
|
163
163
|
*
|
|
164
164
|
* @example
|
|
165
165
|
* node -e "import('@su-record/vibe/orchestrator').then(o => o.smartDebugging('Find bugs in this code')).then(console.log)"
|
|
@@ -168,7 +168,7 @@ export declare function smartDebugging(prompt: string): Promise<ToolResult & {
|
|
|
168
168
|
result: SmartRouteResult;
|
|
169
169
|
}>;
|
|
170
170
|
/**
|
|
171
|
-
* 웹 검색 with fallback (GPT →
|
|
171
|
+
* 웹 검색 with fallback (GPT → Antigravity → Claude)
|
|
172
172
|
*
|
|
173
173
|
* @example
|
|
174
174
|
* node -e "import('@su-record/vibe/orchestrator').then(o => o.smartWebSearch('React 19 new features')).then(console.log)"
|
|
@@ -186,7 +186,7 @@ export declare function smartCodeGen(description: string, context?: string): Pro
|
|
|
186
186
|
result: SmartRouteResult;
|
|
187
187
|
}>;
|
|
188
188
|
/**
|
|
189
|
-
* 코드 리뷰 with fallback (GPT →
|
|
189
|
+
* 코드 리뷰 with fallback (GPT → Antigravity → Claude)
|
|
190
190
|
*
|
|
191
191
|
* @example
|
|
192
192
|
* node -e "import('@su-record/vibe/orchestrator').then(o => o.smartCodeReview('Review this PR')).then(console.log)"
|
|
@@ -195,7 +195,7 @@ export declare function smartCodeReview(prompt: string): Promise<ToolResult & {
|
|
|
195
195
|
result: SmartRouteResult;
|
|
196
196
|
}>;
|
|
197
197
|
/**
|
|
198
|
-
* 추론/분석 with fallback (GPT →
|
|
198
|
+
* 추론/분석 with fallback (GPT → Antigravity → Claude)
|
|
199
199
|
*
|
|
200
200
|
* @example
|
|
201
201
|
* node -e "import('@su-record/vibe/orchestrator').then(o => o.smartReasoning('Analyze this problem')).then(console.log)"
|