@su-record/vibe 2.7.12 → 2.7.14
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/.env.example +37 -37
- package/CLAUDE.md +126 -126
- package/LICENSE +21 -21
- package/README.md +449 -580
- package/agents/architect-low.md +41 -41
- package/agents/architect-medium.md +59 -59
- package/agents/architect.md +80 -80
- package/agents/build-error-resolver.md +115 -115
- package/agents/compounder.md +261 -261
- package/agents/diagrammer.md +178 -178
- package/agents/docs/api-documenter.md +99 -99
- package/agents/docs/changelog-writer.md +93 -93
- package/agents/e2e-tester.md +294 -266
- package/agents/explorer-low.md +42 -42
- package/agents/explorer-medium.md +59 -59
- package/agents/explorer.md +48 -48
- package/agents/implementer-low.md +43 -43
- package/agents/implementer-medium.md +52 -52
- package/agents/implementer.md +54 -54
- package/agents/junior-mentor.md +141 -141
- package/agents/planning/requirements-analyst.md +84 -84
- package/agents/planning/ux-advisor.md +83 -83
- package/agents/qa/acceptance-tester.md +86 -86
- package/agents/qa/edge-case-finder.md +93 -93
- package/agents/refactor-cleaner.md +143 -143
- package/agents/research/best-practices-agent.md +199 -199
- package/agents/research/codebase-patterns-agent.md +157 -157
- package/agents/research/framework-docs-agent.md +188 -188
- package/agents/research/security-advisory-agent.md +213 -213
- package/agents/review/architecture-reviewer.md +107 -107
- package/agents/review/complexity-reviewer.md +116 -116
- package/agents/review/data-integrity-reviewer.md +88 -88
- package/agents/review/git-history-reviewer.md +103 -103
- package/agents/review/performance-reviewer.md +86 -86
- package/agents/review/python-reviewer.md +150 -150
- package/agents/review/rails-reviewer.md +139 -139
- package/agents/review/react-reviewer.md +144 -144
- package/agents/review/security-reviewer.md +80 -80
- package/agents/review/simplicity-reviewer.md +140 -140
- package/agents/review/test-coverage-reviewer.md +116 -116
- package/agents/review/typescript-reviewer.md +127 -127
- package/agents/searcher.md +54 -54
- package/agents/simplifier.md +120 -120
- package/agents/tester.md +49 -49
- package/agents/ui/ui-a11y-auditor.md +93 -93
- package/agents/ui/ui-antipattern-detector.md +94 -94
- package/agents/ui/ui-dataviz-advisor.md +69 -69
- package/agents/ui/ui-design-system-gen.md +57 -57
- package/agents/ui/ui-industry-analyzer.md +49 -49
- package/agents/ui/ui-layout-architect.md +65 -65
- package/agents/ui/ui-stack-implementer.md +68 -68
- package/agents/ui/ux-compliance-reviewer.md +81 -81
- package/agents/ui-previewer.md +258 -260
- package/commands/vibe.analyze.md +8 -0
- package/commands/vibe.review.md +10 -3
- package/commands/vibe.run.md +2078 -2022
- package/commands/vibe.spec.md +10 -10
- package/commands/vibe.spec.review.md +565 -558
- package/commands/vibe.utils.md +413 -413
- package/commands/vibe.verify.md +45 -0
- package/dist/cli/auth.d.ts.map +1 -1
- package/dist/cli/auth.js +1 -7
- package/dist/cli/auth.js.map +1 -1
- package/dist/cli/collaborator.js +52 -52
- package/dist/cli/commands/evolution.js +12 -12
- package/dist/cli/commands/info.d.ts.map +1 -1
- package/dist/cli/commands/info.js +55 -70
- package/dist/cli/commands/info.js.map +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +6 -7
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/remove.js +14 -14
- package/dist/cli/commands/sentinel.js +27 -27
- package/dist/cli/commands/setup.js +1 -1
- package/dist/cli/commands/setup.js.map +1 -1
- package/dist/cli/commands/skills.js +5 -5
- package/dist/cli/commands/slack.js +10 -10
- package/dist/cli/commands/telegram.js +12 -12
- package/dist/cli/commands/update.d.ts.map +1 -1
- package/dist/cli/commands/update.js +3 -4
- package/dist/cli/commands/update.js.map +1 -1
- package/dist/cli/detect.js +32 -32
- package/dist/cli/index.js +51 -55
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/llm/claude-commands.js +16 -16
- package/dist/cli/llm/config.js +20 -20
- package/dist/cli/llm/config.js.map +1 -1
- package/dist/cli/llm/gemini-commands.d.ts +4 -6
- package/dist/cli/llm/gemini-commands.d.ts.map +1 -1
- package/dist/cli/llm/gemini-commands.js +52 -322
- package/dist/cli/llm/gemini-commands.js.map +1 -1
- package/dist/cli/llm/gpt-commands.js +21 -21
- package/dist/cli/llm/gpt-commands.js.map +1 -1
- package/dist/cli/llm/help.js +21 -21
- package/dist/cli/postinstall/constants.js +1 -1
- package/dist/cli/postinstall/constants.js.map +1 -1
- package/dist/cli/postinstall/cursor-agents.js +32 -32
- package/dist/cli/postinstall/cursor-rules.js +83 -83
- package/dist/cli/postinstall/cursor-skills.js +743 -743
- package/dist/cli/postinstall/inline-skills.js +1 -1
- package/dist/cli/postinstall/inline-skills.js.map +1 -1
- package/dist/cli/setup/Provisioner.js +42 -42
- package/dist/cli/types.d.ts +2 -18
- package/dist/cli/types.d.ts.map +1 -1
- package/dist/cli/utils.d.ts +0 -9
- package/dist/cli/utils.d.ts.map +1 -1
- package/dist/cli/utils.js +0 -28
- package/dist/cli/utils.js.map +1 -1
- package/dist/infra/lib/DeepInit.js +24 -24
- package/dist/infra/lib/IterationTracker.js +11 -11
- package/dist/infra/lib/PythonParser.js +108 -108
- package/dist/infra/lib/ReviewRace.js +96 -96
- package/dist/infra/lib/SkillFrontmatter.js +28 -28
- package/dist/infra/lib/SkillQualityGate.js +9 -9
- package/dist/infra/lib/SkillRepository.js +159 -159
- package/dist/infra/lib/UltraQA.js +99 -99
- package/dist/infra/lib/autonomy/AuditStore.js +41 -41
- package/dist/infra/lib/autonomy/ConfirmationStore.js +30 -30
- package/dist/infra/lib/autonomy/EventOutbox.js +38 -38
- package/dist/infra/lib/autonomy/PolicyEngine.js +18 -18
- package/dist/infra/lib/autonomy/SecuritySentinel.js +1 -1
- package/dist/infra/lib/autonomy/SuggestionStore.js +33 -33
- package/dist/infra/lib/config/GlobalConfigManager.d.ts +0 -2
- package/dist/infra/lib/config/GlobalConfigManager.d.ts.map +1 -1
- package/dist/infra/lib/config/GlobalConfigManager.js +0 -27
- package/dist/infra/lib/config/GlobalConfigManager.js.map +1 -1
- package/dist/infra/lib/embedding/VectorStore.js +22 -22
- package/dist/infra/lib/evolution/AgentAnalyzer.js +10 -10
- package/dist/infra/lib/evolution/DescriptionOptimizer.js +21 -21
- package/dist/infra/lib/evolution/GenerationRegistry.js +36 -36
- package/dist/infra/lib/evolution/InsightStore.js +90 -90
- package/dist/infra/lib/evolution/RollbackManager.js +5 -5
- package/dist/infra/lib/evolution/SkillBenchmark.js +23 -23
- package/dist/infra/lib/evolution/SkillEvalRunner.js +50 -50
- package/dist/infra/lib/evolution/SkillGapDetector.js +10 -10
- package/dist/infra/lib/evolution/UsageTracker.js +28 -28
- package/dist/infra/lib/gemini/auth.d.ts +4 -16
- package/dist/infra/lib/gemini/auth.d.ts.map +1 -1
- package/dist/infra/lib/gemini/auth.js +10 -405
- package/dist/infra/lib/gemini/auth.js.map +1 -1
- package/dist/infra/lib/gemini/capabilities.d.ts +4 -8
- package/dist/infra/lib/gemini/capabilities.d.ts.map +1 -1
- package/dist/infra/lib/gemini/capabilities.js +8 -166
- package/dist/infra/lib/gemini/capabilities.js.map +1 -1
- package/dist/infra/lib/gemini/chat.d.ts +4 -13
- package/dist/infra/lib/gemini/chat.d.ts.map +1 -1
- package/dist/infra/lib/gemini/chat.js +10 -323
- package/dist/infra/lib/gemini/chat.js.map +1 -1
- package/dist/infra/lib/gemini/completion.d.ts +5 -15
- package/dist/infra/lib/gemini/completion.d.ts.map +1 -1
- package/dist/infra/lib/gemini/completion.js +6 -97
- package/dist/infra/lib/gemini/completion.js.map +1 -1
- package/dist/infra/lib/gemini/constants.d.ts +2 -31
- package/dist/infra/lib/gemini/constants.d.ts.map +1 -1
- package/dist/infra/lib/gemini/constants.js +2 -77
- package/dist/infra/lib/gemini/constants.js.map +1 -1
- package/dist/infra/lib/gemini/index.d.ts +5 -8
- package/dist/infra/lib/gemini/index.d.ts.map +1 -1
- package/dist/infra/lib/gemini/index.js +4 -7
- package/dist/infra/lib/gemini/index.js.map +1 -1
- package/dist/infra/lib/gemini/models.d.ts +3 -4
- package/dist/infra/lib/gemini/models.d.ts.map +1 -1
- package/dist/infra/lib/gemini/models.js +8 -84
- package/dist/infra/lib/gemini/models.js.map +1 -1
- package/dist/infra/lib/gemini/orchestration.js +5 -5
- package/dist/infra/lib/gemini/types.d.ts +16 -44
- package/dist/infra/lib/gemini/types.d.ts.map +1 -1
- package/dist/infra/lib/gemini/types.js +1 -1
- package/dist/infra/lib/gpt/auth.d.ts +2 -5
- package/dist/infra/lib/gpt/auth.d.ts.map +1 -1
- package/dist/infra/lib/gpt/auth.js +8 -38
- package/dist/infra/lib/gpt/auth.js.map +1 -1
- package/dist/infra/lib/gpt/chat.d.ts +3 -3
- package/dist/infra/lib/gpt/chat.d.ts.map +1 -1
- package/dist/infra/lib/gpt/chat.js +37 -53
- package/dist/infra/lib/gpt/chat.js.map +1 -1
- package/dist/infra/lib/gpt/constants.d.ts +2 -5
- package/dist/infra/lib/gpt/constants.d.ts.map +1 -1
- package/dist/infra/lib/gpt/constants.js +4 -9
- package/dist/infra/lib/gpt/constants.js.map +1 -1
- package/dist/infra/lib/gpt/embedding.d.ts +1 -1
- package/dist/infra/lib/gpt/embedding.js +3 -3
- package/dist/infra/lib/gpt/embedding.js.map +1 -1
- package/dist/infra/lib/gpt/oauth.d.ts +6 -39
- package/dist/infra/lib/gpt/oauth.d.ts.map +1 -1
- package/dist/infra/lib/gpt/oauth.js +8 -340
- package/dist/infra/lib/gpt/oauth.js.map +1 -1
- package/dist/infra/lib/gpt/orchestration.js +5 -5
- package/dist/infra/lib/gpt/orchestration.js.map +1 -1
- package/dist/infra/lib/gpt/specializations.d.ts +2 -2
- package/dist/infra/lib/gpt/specializations.js +3 -3
- package/dist/infra/lib/gpt/specializations.js.map +1 -1
- package/dist/infra/lib/gpt/types.d.ts +1 -1
- package/dist/infra/lib/gpt/types.d.ts.map +1 -1
- package/dist/infra/lib/llm/auth/AuthProfileManager.d.ts +2 -2
- 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 +1 -1
- package/dist/infra/lib/llm/auth/AuthProfileManager.test.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.d.ts +2 -12
- package/dist/infra/lib/llm/auth/index.d.ts.map +1 -1
- package/dist/infra/lib/llm/auth/index.js +5 -63
- package/dist/infra/lib/llm/auth/index.js.map +1 -1
- package/dist/infra/lib/llm/types.d.ts +1 -1
- package/dist/infra/lib/llm/types.d.ts.map +1 -1
- package/dist/infra/lib/memory/KnowledgeGraph.js +4 -4
- package/dist/infra/lib/memory/MemorySearch.js +57 -57
- package/dist/infra/lib/memory/MemoryStorage.js +181 -181
- package/dist/infra/lib/memory/ObservationStore.js +28 -28
- package/dist/infra/lib/memory/ReflectionStore.js +30 -30
- package/dist/infra/lib/memory/SessionRAGRetriever.js +7 -7
- package/dist/infra/lib/memory/SessionRAGStore.js +225 -225
- package/dist/infra/lib/memory/SessionSummarizer.js +9 -9
- package/dist/infra/orchestrator/AgentManager.js +12 -12
- package/dist/infra/orchestrator/AgentRegistry.js +65 -65
- package/dist/infra/orchestrator/MultiLlmResearch.js +8 -8
- package/dist/infra/orchestrator/SwarmOrchestrator.test.js +16 -16
- package/dist/infra/orchestrator/parallelResearch.js +24 -24
- package/dist/tools/convention/analyzeComplexity.test.js +115 -115
- package/dist/tools/convention/validateCodeQuality.test.js +104 -104
- package/dist/tools/memory/createMemoryTimeline.js +10 -10
- package/dist/tools/memory/getMemoryGraph.js +12 -12
- package/dist/tools/memory/getSessionContext.js +9 -9
- package/dist/tools/memory/linkMemories.js +14 -14
- package/dist/tools/memory/listMemories.js +4 -4
- package/dist/tools/memory/recallMemory.js +4 -4
- package/dist/tools/memory/saveMemory.js +4 -4
- package/dist/tools/memory/searchMemoriesAdvanced.js +23 -23
- package/dist/tools/semantic/analyzeDependencyGraph.js +12 -12
- package/dist/tools/semantic/astGrep.test.js +6 -6
- package/dist/tools/spec/prdParser.test.js +171 -171
- package/dist/tools/spec/specGenerator.js +169 -169
- package/dist/tools/spec/traceabilityMatrix.js +64 -64
- package/dist/tools/spec/traceabilityMatrix.test.js +28 -28
- package/hooks/gemini-hooks.json +73 -73
- package/hooks/hooks.json +137 -137
- package/hooks/scripts/code-check.js +70 -70
- package/hooks/scripts/context-save.js +212 -212
- package/hooks/scripts/hud-status.js +291 -291
- package/hooks/scripts/keyword-detector.js +214 -214
- package/hooks/scripts/llm-orchestrate.js +475 -646
- package/hooks/scripts/post-edit.js +32 -32
- package/hooks/scripts/pre-tool-guard.js +125 -125
- package/hooks/scripts/prompt-dispatcher.js +185 -185
- package/hooks/scripts/sentinel-guard.js +104 -104
- package/hooks/scripts/session-start.js +106 -106
- package/hooks/scripts/stop-notify.js +209 -209
- package/hooks/scripts/utils.js +100 -100
- package/languages/csharp-unity.md +515 -515
- package/languages/gdscript-godot.md +470 -470
- package/languages/ruby-rails.md +489 -489
- package/languages/typescript-angular.md +433 -433
- package/languages/typescript-astro.md +416 -416
- package/languages/typescript-electron.md +406 -406
- package/languages/typescript-nestjs.md +524 -524
- package/languages/typescript-svelte.md +407 -407
- package/languages/typescript-tauri.md +365 -365
- package/package.json +121 -121
- package/skills/agents-md/SKILL.md +120 -120
- package/skills/arch-guard/SKILL.md +180 -180
- package/skills/brand-assets/SKILL.md +146 -146
- package/skills/capability-loop/SKILL.md +167 -167
- package/skills/characterization-test/SKILL.md +206 -206
- package/skills/commerce-patterns/SKILL.md +59 -59
- package/skills/commit-push-pr/SKILL.md +75 -75
- package/skills/context7-usage/SKILL.md +105 -105
- package/skills/core-capabilities/SKILL.md +48 -48
- package/skills/e2e-commerce/SKILL.md +57 -57
- package/skills/exec-plan/SKILL.md +147 -147
- package/skills/frontend-design/SKILL.md +73 -73
- package/skills/git-worktree/SKILL.md +72 -72
- package/skills/handoff/SKILL.md +109 -109
- package/skills/parallel-research/SKILL.md +87 -87
- package/skills/priority-todos/SKILL.md +63 -63
- package/skills/seo-checklist/SKILL.md +57 -57
- package/skills/techdebt/SKILL.md +122 -122
- package/skills/tool-fallback/SKILL.md +103 -103
- package/skills/typescript-advanced-types/SKILL.md +66 -65
- package/skills/ui-ux-pro-max/SKILL.md +206 -206
- package/skills/vercel-react-best-practices/SKILL.md +59 -59
- package/skills/video-production/SKILL.md +51 -51
- package/vibe/config.json +29 -29
- package/vibe/constitution.md +227 -227
- package/vibe/rules/principles/communication-guide.md +98 -98
- package/vibe/rules/principles/development-philosophy.md +52 -52
- package/vibe/rules/principles/quick-start.md +102 -102
- package/vibe/rules/quality/bdd-contract-testing.md +393 -393
- package/vibe/rules/quality/checklist.md +276 -276
- package/vibe/rules/quality/performance.md +236 -236
- package/vibe/rules/quality/testing-strategy.md +440 -440
- package/vibe/rules/standards/anti-patterns.md +541 -541
- package/vibe/rules/standards/code-structure.md +291 -291
- package/vibe/rules/standards/complexity-metrics.md +313 -313
- package/vibe/rules/standards/git-workflow.md +237 -237
- package/vibe/rules/standards/naming-conventions.md +198 -198
- package/vibe/rules/standards/security.md +305 -305
- package/vibe/rules/writing/document-style.md +74 -74
- package/vibe/setup.sh +31 -31
- package/vibe/templates/constitution-template.md +252 -252
- package/vibe/templates/contract-backend-template.md +526 -526
- package/vibe/templates/contract-frontend-template.md +599 -599
- package/vibe/templates/feature-template.md +96 -96
- package/vibe/templates/spec-template.md +221 -221
- package/vibe/ui-ux-data/charts.csv +26 -26
- package/vibe/ui-ux-data/colors.csv +97 -97
- package/vibe/ui-ux-data/icons.csv +101 -101
- package/vibe/ui-ux-data/landing.csv +31 -31
- package/vibe/ui-ux-data/products.csv +96 -96
- package/vibe/ui-ux-data/react-performance.csv +45 -45
- package/vibe/ui-ux-data/stacks/astro.csv +54 -54
- package/vibe/ui-ux-data/stacks/flutter.csv +53 -53
- package/vibe/ui-ux-data/stacks/html-tailwind.csv +56 -56
- package/vibe/ui-ux-data/stacks/jetpack-compose.csv +53 -53
- package/vibe/ui-ux-data/stacks/nextjs.csv +53 -53
- package/vibe/ui-ux-data/stacks/nuxt-ui.csv +51 -51
- package/vibe/ui-ux-data/stacks/nuxtjs.csv +59 -59
- package/vibe/ui-ux-data/stacks/react-native.csv +52 -52
- package/vibe/ui-ux-data/stacks/react.csv +54 -54
- package/vibe/ui-ux-data/stacks/shadcn.csv +61 -61
- package/vibe/ui-ux-data/stacks/svelte.csv +54 -54
- package/vibe/ui-ux-data/stacks/swiftui.csv +51 -51
- package/vibe/ui-ux-data/stacks/vue.csv +50 -50
- package/vibe/ui-ux-data/styles.csv +68 -68
- package/vibe/ui-ux-data/typography.csv +57 -57
- package/vibe/ui-ux-data/ui-reasoning.csv +101 -101
- package/vibe/ui-ux-data/ux-guidelines.csv +99 -99
- package/vibe/ui-ux-data/version.json +31 -31
- package/vibe/ui-ux-data/web-interface.csv +31 -31
- package/commands/vibe.voice.md +0 -79
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat.js","sourceRoot":"","sources":["../../../../src/infra/lib/gemini/chat.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"chat.js","sourceRoot":"","sources":["../../../../src/infra/lib/gemini/chat.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,22 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Code Completion (placeholder)
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* completeCode는 v1internal OAuth 전용이었으므로 제거됨.
|
|
5
|
+
* gemini-cli 직접 호출로 대체 가능.
|
|
6
6
|
*/
|
|
7
7
|
import type { CompleteCodeOptions, CompleteCodeResponse } from './types.js';
|
|
8
8
|
/**
|
|
9
|
-
* 코드 자동완성 (OAuth
|
|
10
|
-
*
|
|
11
|
-
* @example
|
|
12
|
-
* ```ts
|
|
13
|
-
* const result = await completeCode({
|
|
14
|
-
* prefix: 'function hello() {\n console.',
|
|
15
|
-
* suffix: '\n}',
|
|
16
|
-
* language: 'typescript',
|
|
17
|
-
* });
|
|
18
|
-
* // result.completions: ['log("Hello, World!");', ...]
|
|
19
|
-
* ```
|
|
9
|
+
* 코드 자동완성 (미지원 — OAuth 제거됨)
|
|
20
10
|
*/
|
|
21
|
-
export declare function completeCode(
|
|
11
|
+
export declare function completeCode(_options: CompleteCodeOptions): Promise<CompleteCodeResponse>;
|
|
22
12
|
//# sourceMappingURL=completion.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"completion.d.ts","sourceRoot":"","sources":["../../../../src/infra/lib/gemini/completion.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"completion.d.ts","sourceRoot":"","sources":["../../../../src/infra/lib/gemini/completion.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAE5E;;GAEG;AACH,wBAAsB,YAAY,CAChC,QAAQ,EAAE,mBAAmB,GAC5B,OAAO,CAAC,oBAAoB,CAAC,CAI/B"}
|
|
@@ -1,104 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Code Completion (placeholder)
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* completeCode는 v1internal OAuth 전용이었으므로 제거됨.
|
|
5
|
+
* gemini-cli 직접 호출로 대체 가능.
|
|
6
6
|
*/
|
|
7
|
-
import { sleep } from '../utils.js';
|
|
8
|
-
import { getAuthInfo } from './auth.js';
|
|
9
|
-
import { ENDPOINT_FALLBACKS, API_VERSION, ANTIGRAVITY_HEADERS, MAX_RETRIES, RETRY_BASE_DELAY_MS, } from './constants.js';
|
|
10
|
-
import { getGeminiModels, DEFAULT_MODEL } from './chat.js';
|
|
11
7
|
/**
|
|
12
|
-
*
|
|
8
|
+
* 코드 자동완성 (미지원 — OAuth 제거됨)
|
|
13
9
|
*/
|
|
14
|
-
async function
|
|
15
|
-
|
|
16
|
-
const models = getGeminiModels();
|
|
17
|
-
const modelInfo = models[model] || models[DEFAULT_MODEL];
|
|
18
|
-
const effectiveModelId = modelInfo.oauthId || modelInfo.id;
|
|
19
|
-
const innerRequest = {
|
|
20
|
-
prefix,
|
|
21
|
-
suffix,
|
|
22
|
-
language,
|
|
23
|
-
maxCompletionTokens: maxTokens,
|
|
24
|
-
};
|
|
25
|
-
const requestBody = {
|
|
26
|
-
project: projectId || '',
|
|
27
|
-
model: effectiveModelId,
|
|
28
|
-
request: innerRequest,
|
|
29
|
-
};
|
|
30
|
-
let lastError = null;
|
|
31
|
-
for (const endpoint of ENDPOINT_FALLBACKS) {
|
|
32
|
-
const url = `${endpoint}/${API_VERSION}:completeCode`;
|
|
33
|
-
const headers = {
|
|
34
|
-
'Authorization': `Bearer ${accessToken}`,
|
|
35
|
-
'Content-Type': 'application/json',
|
|
36
|
-
...ANTIGRAVITY_HEADERS,
|
|
37
|
-
};
|
|
38
|
-
try {
|
|
39
|
-
const response = await fetch(url, {
|
|
40
|
-
method: 'POST',
|
|
41
|
-
headers,
|
|
42
|
-
body: JSON.stringify(requestBody),
|
|
43
|
-
});
|
|
44
|
-
if (!response.ok) {
|
|
45
|
-
const errorText = await response.text();
|
|
46
|
-
if (response.status === 404) {
|
|
47
|
-
lastError = new Error(`completeCode not found: ${errorText}`);
|
|
48
|
-
continue;
|
|
49
|
-
}
|
|
50
|
-
if (response.status === 429) {
|
|
51
|
-
const retryCount = options._retryCount || 0;
|
|
52
|
-
if (retryCount < MAX_RETRIES) {
|
|
53
|
-
await sleep(Math.pow(2, retryCount) * RETRY_BASE_DELAY_MS);
|
|
54
|
-
return completeCodeWithOAuth(accessToken, projectId, {
|
|
55
|
-
...options,
|
|
56
|
-
_retryCount: retryCount + 1,
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
throw new Error(`completeCode error (${response.status}): ${errorText}`);
|
|
61
|
-
}
|
|
62
|
-
const result = await response.json();
|
|
63
|
-
const responseData = result.response || result;
|
|
64
|
-
const completionItems = responseData.completions || [];
|
|
65
|
-
const completions = completionItems
|
|
66
|
-
.map(item => item.text || item.completion || '')
|
|
67
|
-
.filter(Boolean);
|
|
68
|
-
return {
|
|
69
|
-
completions,
|
|
70
|
-
model: modelInfo.name,
|
|
71
|
-
};
|
|
72
|
-
}
|
|
73
|
-
catch (error) {
|
|
74
|
-
lastError = error;
|
|
75
|
-
const msg = error.message || '';
|
|
76
|
-
if (error.name === 'TypeError' || msg.includes('not found')) {
|
|
77
|
-
continue;
|
|
78
|
-
}
|
|
79
|
-
throw error;
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
throw lastError || new Error('All completeCode endpoints failed');
|
|
83
|
-
}
|
|
84
|
-
/**
|
|
85
|
-
* 코드 자동완성 (OAuth 전용)
|
|
86
|
-
*
|
|
87
|
-
* @example
|
|
88
|
-
* ```ts
|
|
89
|
-
* const result = await completeCode({
|
|
90
|
-
* prefix: 'function hello() {\n console.',
|
|
91
|
-
* suffix: '\n}',
|
|
92
|
-
* language: 'typescript',
|
|
93
|
-
* });
|
|
94
|
-
* // result.completions: ['log("Hello, World!");', ...]
|
|
95
|
-
* ```
|
|
96
|
-
*/
|
|
97
|
-
export async function completeCode(options) {
|
|
98
|
-
const authInfo = await getAuthInfo();
|
|
99
|
-
if (!authInfo.accessToken) {
|
|
100
|
-
throw new Error('completeCode requires OAuth authentication. API Key not supported.');
|
|
101
|
-
}
|
|
102
|
-
return completeCodeWithOAuth(authInfo.accessToken, authInfo.projectId, options);
|
|
10
|
+
export async function completeCode(_options) {
|
|
11
|
+
throw new Error('completeCode is no longer supported. Use gemini-cli directly for code completion.');
|
|
103
12
|
}
|
|
104
13
|
//# sourceMappingURL=completion.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"completion.js","sourceRoot":"","sources":["../../../../src/infra/lib/gemini/completion.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"completion.js","sourceRoot":"","sources":["../../../../src/infra/lib/gemini/completion.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,QAA6B;IAE7B,MAAM,IAAI,KAAK,CACb,mFAAmF,CACpF,CAAC;AACJ,CAAC"}
|
|
@@ -1,37 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Gemini API 상수
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* (Pro 계정은 daily sandbox에서 429 발생 → production 우선)
|
|
4
|
+
* Auth: gemini-cli / codex-cli / API Key 만 지원
|
|
6
5
|
*/
|
|
7
|
-
export declare const ANTIGRAVITY_CLIENT_ID = "1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com";
|
|
8
|
-
export declare const ANTIGRAVITY_CLIENT_SECRET = "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";
|
|
9
|
-
export declare const ANTIGRAVITY_SCOPES: string[];
|
|
10
|
-
export declare const ANTIGRAVITY_REDIRECT_URI = "http://localhost:51121/oauth-callback";
|
|
11
|
-
export declare const ANTIGRAVITY_REDIRECT_PORT = 51121;
|
|
12
|
-
export declare const GEMINI_CLI_CLIENT_ID = "681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com";
|
|
13
|
-
export declare const GEMINI_CLI_CLIENT_SECRET = "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";
|
|
14
|
-
export declare const ENDPOINT_PROD = "https://cloudcode-pa.googleapis.com";
|
|
15
|
-
export declare const ENDPOINT_AUTOPUSH = "https://autopush-cloudcode-pa.sandbox.googleapis.com";
|
|
16
|
-
export declare const ENDPOINT_DAILY = "https://daily-cloudcode-pa.sandbox.googleapis.com";
|
|
17
|
-
/** generateContent 호출 시 fallback 순서 (Production 우선) */
|
|
18
|
-
export declare const ENDPOINT_FALLBACKS: readonly ["https://cloudcode-pa.googleapis.com", "https://autopush-cloudcode-pa.sandbox.googleapis.com", "https://daily-cloudcode-pa.sandbox.googleapis.com"];
|
|
19
|
-
/** loadCodeAssist 호출 시 fallback 순서 (Production 우선) */
|
|
20
|
-
export declare const LOAD_ENDPOINTS: readonly ["https://cloudcode-pa.googleapis.com", "https://autopush-cloudcode-pa.sandbox.googleapis.com", "https://daily-cloudcode-pa.sandbox.googleapis.com"];
|
|
21
|
-
export declare const DEFAULT_PROJECT_ID = "rising-fact-p41fc";
|
|
22
|
-
export declare const API_VERSION = "v1internal";
|
|
23
|
-
export declare const ANTIGRAVITY_IDE_VERSION = "1.16.5";
|
|
24
|
-
export declare const ANTIGRAVITY_HEADERS: Record<string, string>;
|
|
25
|
-
/** loadCodeAssist 요청용 메타데이터 (Antigravity IDE 방식) */
|
|
26
|
-
export declare const ANTIGRAVITY_METADATA: {
|
|
27
|
-
ideName: string;
|
|
28
|
-
ideType: string;
|
|
29
|
-
ideVersion: string;
|
|
30
|
-
};
|
|
31
|
-
export declare const ANTIGRAVITY_SYSTEM_INSTRUCTION = "<identity>\nYou are a powerful agentic AI coding assistant.\nYou are pair programming with a USER to solve their coding task.\n</identity>\n\n<tool_calling>\nCall tools as you normally would. Always use absolute file paths.\n</tool_calling>\n\n<communication_style>\n- Format responses in github-style markdown\n- Be proactive in completing tasks\n- Respond like a helpful software engineer\n- Ask for clarification when unsure\n</communication_style>";
|
|
32
|
-
export declare const GOOGLE_TOKEN_URL = "https://oauth2.googleapis.com/token";
|
|
33
|
-
export declare const GOOGLE_AUTH_URL = "https://accounts.google.com/o/oauth2/v2/auth";
|
|
34
|
-
export declare const GOOGLE_USERINFO_URL = "https://www.googleapis.com/oauth2/v1/userinfo";
|
|
35
6
|
export declare const MAX_RETRIES = 3;
|
|
36
7
|
export declare const RETRY_BASE_DELAY_MS = 1000;
|
|
37
8
|
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/infra/lib/gemini/constants.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/infra/lib/gemini/constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,eAAO,MAAM,WAAW,IAAI,CAAC;AAC7B,eAAO,MAAM,mBAAmB,OAAO,CAAC"}
|
|
@@ -1,84 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Gemini API 상수
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* (Pro 계정은 daily sandbox에서 429 발생 → production 우선)
|
|
4
|
+
* Auth: gemini-cli / codex-cli / API Key 만 지원
|
|
6
5
|
*/
|
|
7
6
|
// =============================================
|
|
8
|
-
// Antigravity OAuth
|
|
9
|
-
// =============================================
|
|
10
|
-
export const ANTIGRAVITY_CLIENT_ID = '1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com';
|
|
11
|
-
export const ANTIGRAVITY_CLIENT_SECRET = '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';
|
|
12
|
-
export const ANTIGRAVITY_SCOPES = [
|
|
13
|
-
'https://www.googleapis.com/auth/cloud-platform',
|
|
14
|
-
'https://www.googleapis.com/auth/userinfo.email',
|
|
15
|
-
'https://www.googleapis.com/auth/userinfo.profile',
|
|
16
|
-
'https://www.googleapis.com/auth/cclog',
|
|
17
|
-
'https://www.googleapis.com/auth/experimentsandconfigs',
|
|
18
|
-
];
|
|
19
|
-
export const ANTIGRAVITY_REDIRECT_URI = 'http://localhost:51121/oauth-callback';
|
|
20
|
-
export const ANTIGRAVITY_REDIRECT_PORT = 51121;
|
|
21
|
-
// =============================================
|
|
22
|
-
// Gemini CLI OAuth (fallback)
|
|
23
|
-
// =============================================
|
|
24
|
-
export const GEMINI_CLI_CLIENT_ID = '681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com';
|
|
25
|
-
export const GEMINI_CLI_CLIENT_SECRET = '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';
|
|
26
|
-
// =============================================
|
|
27
|
-
// API Endpoints — Production 우선 (Pro 계정 429 방지)
|
|
28
|
-
// =============================================
|
|
29
|
-
export const ENDPOINT_PROD = 'https://cloudcode-pa.googleapis.com';
|
|
30
|
-
export const ENDPOINT_AUTOPUSH = 'https://autopush-cloudcode-pa.sandbox.googleapis.com';
|
|
31
|
-
export const ENDPOINT_DAILY = 'https://daily-cloudcode-pa.sandbox.googleapis.com';
|
|
32
|
-
/** generateContent 호출 시 fallback 순서 (Production 우선) */
|
|
33
|
-
export const ENDPOINT_FALLBACKS = [
|
|
34
|
-
ENDPOINT_PROD,
|
|
35
|
-
ENDPOINT_AUTOPUSH,
|
|
36
|
-
ENDPOINT_DAILY,
|
|
37
|
-
];
|
|
38
|
-
/** loadCodeAssist 호출 시 fallback 순서 (Production 우선) */
|
|
39
|
-
export const LOAD_ENDPOINTS = [
|
|
40
|
-
ENDPOINT_PROD,
|
|
41
|
-
ENDPOINT_AUTOPUSH,
|
|
42
|
-
ENDPOINT_DAILY,
|
|
43
|
-
];
|
|
44
|
-
export const DEFAULT_PROJECT_ID = 'rising-fact-p41fc';
|
|
45
|
-
// =============================================
|
|
46
|
-
// API Version & Headers
|
|
47
|
-
// =============================================
|
|
48
|
-
export const API_VERSION = 'v1internal';
|
|
49
|
-
export const ANTIGRAVITY_IDE_VERSION = '1.16.5';
|
|
50
|
-
export const ANTIGRAVITY_HEADERS = {
|
|
51
|
-
'User-Agent': `antigravity/${ANTIGRAVITY_IDE_VERSION} ${process.platform === 'win32' ? 'windows' : process.platform === 'darwin' ? 'darwin' : 'linux'}/${process.arch === 'x64' ? 'amd64' : process.arch}`,
|
|
52
|
-
'X-Goog-Api-Client': 'google-cloud-sdk vscode_cloudshelleditor/0.1',
|
|
53
|
-
};
|
|
54
|
-
/** loadCodeAssist 요청용 메타데이터 (Antigravity IDE 방식) */
|
|
55
|
-
export const ANTIGRAVITY_METADATA = {
|
|
56
|
-
ideName: 'antigravity',
|
|
57
|
-
ideType: 'ANTIGRAVITY',
|
|
58
|
-
ideVersion: ANTIGRAVITY_IDE_VERSION,
|
|
59
|
-
};
|
|
60
|
-
export const ANTIGRAVITY_SYSTEM_INSTRUCTION = `<identity>
|
|
61
|
-
You are a powerful agentic AI coding assistant.
|
|
62
|
-
You are pair programming with a USER to solve their coding task.
|
|
63
|
-
</identity>
|
|
64
|
-
|
|
65
|
-
<tool_calling>
|
|
66
|
-
Call tools as you normally would. Always use absolute file paths.
|
|
67
|
-
</tool_calling>
|
|
68
|
-
|
|
69
|
-
<communication_style>
|
|
70
|
-
- Format responses in github-style markdown
|
|
71
|
-
- Be proactive in completing tasks
|
|
72
|
-
- Respond like a helpful software engineer
|
|
73
|
-
- Ask for clarification when unsure
|
|
74
|
-
</communication_style>`;
|
|
75
|
-
// =============================================
|
|
76
|
-
// Google OAuth URLs
|
|
77
|
-
// =============================================
|
|
78
|
-
export const GOOGLE_TOKEN_URL = 'https://oauth2.googleapis.com/token';
|
|
79
|
-
export const GOOGLE_AUTH_URL = 'https://accounts.google.com/o/oauth2/v2/auth';
|
|
80
|
-
export const GOOGLE_USERINFO_URL = 'https://www.googleapis.com/oauth2/v1/userinfo';
|
|
81
|
-
// =============================================
|
|
82
7
|
// Retry & Timeout
|
|
83
8
|
// =============================================
|
|
84
9
|
export const MAX_RETRIES = 3;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/infra/lib/gemini/constants.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/infra/lib/gemini/constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,gDAAgD;AAChD,kBAAkB;AAClB,gDAAgD;AAEhD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC;AAC7B,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC"}
|
|
@@ -1,16 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Gemini
|
|
2
|
+
* Gemini API 모듈
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* Auth: Antigravity OAuth → Gemini CLI → API Key
|
|
6
|
-
* API: generateContent + completeCode + fetchAvailableModels + SSE Streaming
|
|
4
|
+
* Auth: gemini-cli / codex-cli (hooks) + API Key (library)
|
|
7
5
|
*/
|
|
8
|
-
export type { AuthInfo, GeminiAuthMethod, GeminiModelInfo, AvailableModel, ChatMessage, ChatOptions, ChatResponse, StreamChunk, GeminiApiResponse, GeminiCandidate,
|
|
9
|
-
export { getApiKeyFromConfig, getAuthInfo,
|
|
6
|
+
export type { AuthInfo, GeminiAuthMethod, GeminiModelInfo, AvailableModel, ChatMessage, ChatOptions, ChatResponse, StreamChunk, GeminiApiResponse, GeminiCandidate, ImageGenerationOptions, ImageGenerationResult, ImageAnalysisOptions, MultimodalContent, VibeGeminiOptions, } from './types.js';
|
|
7
|
+
export { getApiKeyFromConfig, getAuthInfo, } from './auth.js';
|
|
10
8
|
export { getGlobalConfigDir } from '../llm/auth/ConfigManager.js';
|
|
11
9
|
export { GEMINI_MODELS, getGeminiModels, DEFAULT_MODEL, chat, chatStream, getAvailableModels, getModelInfo, ask, quickAsk, } from './chat.js';
|
|
12
|
-
export { webSearch, quickWebSearch, analyzeUI, generateImage, analyzeImage,
|
|
10
|
+
export { webSearch, quickWebSearch, analyzeUI, generateImage, analyzeImage, } from './capabilities.js';
|
|
13
11
|
export { coreGeminiOrchestrate, coreGeminiParseSpec, coreGeminiPlanExecution, coreGeminiAnalyze, coreGeminiDecideNextAction, coreGeminiAnalyzeUX, } from './orchestration.js';
|
|
14
|
-
export { completeCode } from './completion.js';
|
|
15
12
|
export { fetchAvailableModels } from './models.js';
|
|
16
13
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/infra/lib/gemini/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/infra/lib/gemini/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,YAAY,EACV,QAAQ,EACR,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,WAAW,EACX,WAAW,EACX,YAAY,EACZ,WAAW,EACX,iBAAiB,EACjB,eAAe,EACf,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,mBAAmB,EACnB,WAAW,GACZ,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAElE,OAAO,EACL,aAAa,EACb,eAAe,EACf,aAAa,EACb,IAAI,EACJ,UAAU,EACV,kBAAkB,EAClB,YAAY,EACZ,GAAG,EACH,QAAQ,GACT,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,SAAS,EACT,cAAc,EACd,SAAS,EACT,aAAa,EACb,YAAY,GACb,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,uBAAuB,EACvB,iBAAiB,EACjB,0BAA0B,EAC1B,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -1,15 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Gemini
|
|
2
|
+
* Gemini API 모듈
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* Auth: Antigravity OAuth → Gemini CLI → API Key
|
|
6
|
-
* API: generateContent + completeCode + fetchAvailableModels + SSE Streaming
|
|
4
|
+
* Auth: gemini-cli / codex-cli (hooks) + API Key (library)
|
|
7
5
|
*/
|
|
8
|
-
export { getApiKeyFromConfig, getAuthInfo,
|
|
6
|
+
export { getApiKeyFromConfig, getAuthInfo, } from './auth.js';
|
|
9
7
|
export { getGlobalConfigDir } from '../llm/auth/ConfigManager.js';
|
|
10
8
|
export { GEMINI_MODELS, getGeminiModels, DEFAULT_MODEL, chat, chatStream, getAvailableModels, getModelInfo, ask, quickAsk, } from './chat.js';
|
|
11
|
-
export { webSearch, quickWebSearch, analyzeUI, generateImage, analyzeImage,
|
|
9
|
+
export { webSearch, quickWebSearch, analyzeUI, generateImage, analyzeImage, } from './capabilities.js';
|
|
12
10
|
export { coreGeminiOrchestrate, coreGeminiParseSpec, coreGeminiPlanExecution, coreGeminiAnalyze, coreGeminiDecideNextAction, coreGeminiAnalyzeUX, } from './orchestration.js';
|
|
13
|
-
export { completeCode } from './completion.js';
|
|
14
11
|
export { fetchAvailableModels } from './models.js';
|
|
15
12
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/infra/lib/gemini/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/infra/lib/gemini/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAoBH,OAAO,EACL,mBAAmB,EACnB,WAAW,GACZ,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAElE,OAAO,EACL,aAAa,EACb,eAAe,EACf,aAAa,EACb,IAAI,EACJ,UAAU,EACV,kBAAkB,EAClB,YAAY,EACZ,GAAG,EACH,QAAQ,GACT,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,SAAS,EACT,cAAc,EACd,SAAS,EACT,aAAa,EACb,YAAY,GACb,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,uBAAuB,EACvB,iBAAiB,EACjB,0BAA0B,EAC1B,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Gemini
|
|
2
|
+
* Gemini Model Discovery API
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* Production → Autopush → Daily 순서
|
|
4
|
+
* Google AI Studio (API Key) 전용
|
|
6
5
|
*/
|
|
7
6
|
import type { AvailableModel } from './types.js';
|
|
8
7
|
/**
|
|
9
|
-
* 사용 가능한 모델 목록 조회 (
|
|
8
|
+
* 사용 가능한 모델 목록 조회 (API Key)
|
|
10
9
|
*/
|
|
11
10
|
export declare function fetchAvailableModels(): Promise<AvailableModel[]>;
|
|
12
11
|
//# sourceMappingURL=models.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../../../src/infra/lib/gemini/models.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../../../src/infra/lib/gemini/models.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAyBjD;;GAEG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAqBtE"}
|
|
@@ -1,25 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Gemini
|
|
2
|
+
* Gemini Model Discovery API
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* Production → Autopush → Daily 순서
|
|
4
|
+
* Google AI Studio (API Key) 전용
|
|
6
5
|
*/
|
|
7
|
-
import {
|
|
8
|
-
import { ENDPOINT_FALLBACKS, API_VERSION, ANTIGRAVITY_HEADERS, } from './constants.js';
|
|
9
|
-
function normalizeV1Internal(modelId, detail) {
|
|
10
|
-
return {
|
|
11
|
-
modelId,
|
|
12
|
-
displayName: detail.displayName || modelId,
|
|
13
|
-
description: [
|
|
14
|
-
detail.modelProvider,
|
|
15
|
-
detail.supportsThinking ? 'thinking' : '',
|
|
16
|
-
detail.supportsImages ? 'vision' : '',
|
|
17
|
-
].filter(Boolean).join(', '),
|
|
18
|
-
inputTokenLimit: detail.maxTokens || 0,
|
|
19
|
-
outputTokenLimit: detail.maxOutputTokens || 0,
|
|
20
|
-
supportedActions: [],
|
|
21
|
-
};
|
|
22
|
-
}
|
|
6
|
+
import { getApiKeyFromConfig } from './auth.js';
|
|
23
7
|
function normalizeGoogleAI(raw) {
|
|
24
8
|
return {
|
|
25
9
|
modelId: raw.name || '',
|
|
@@ -31,60 +15,13 @@ function normalizeGoogleAI(raw) {
|
|
|
31
15
|
};
|
|
32
16
|
}
|
|
33
17
|
/**
|
|
34
|
-
*
|
|
18
|
+
* 사용 가능한 모델 목록 조회 (API Key)
|
|
35
19
|
*/
|
|
36
|
-
async function
|
|
37
|
-
const
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
let lastError = null;
|
|
41
|
-
for (const endpoint of ENDPOINT_FALLBACKS) {
|
|
42
|
-
const url = `${endpoint}/${API_VERSION}:fetchAvailableModels`;
|
|
43
|
-
const headers = {
|
|
44
|
-
'Authorization': `Bearer ${accessToken}`,
|
|
45
|
-
'Content-Type': 'application/json',
|
|
46
|
-
...ANTIGRAVITY_HEADERS,
|
|
47
|
-
};
|
|
48
|
-
try {
|
|
49
|
-
const response = await fetch(url, {
|
|
50
|
-
method: 'POST',
|
|
51
|
-
headers,
|
|
52
|
-
body: JSON.stringify(requestBody),
|
|
53
|
-
});
|
|
54
|
-
if (!response.ok) {
|
|
55
|
-
if (response.status === 404) {
|
|
56
|
-
lastError = new Error('fetchAvailableModels not found');
|
|
57
|
-
continue;
|
|
58
|
-
}
|
|
59
|
-
const errorText = await response.text();
|
|
60
|
-
throw new Error(`fetchAvailableModels error (${response.status}): ${errorText}`);
|
|
61
|
-
}
|
|
62
|
-
const result = await response.json();
|
|
63
|
-
const modelsMap = result.models;
|
|
64
|
-
if (!modelsMap || typeof modelsMap !== 'object') {
|
|
65
|
-
return [];
|
|
66
|
-
}
|
|
67
|
-
// 배열이면 legacy 처리, 객체면 v1internal 처리
|
|
68
|
-
if (Array.isArray(modelsMap)) {
|
|
69
|
-
return modelsMap.map(normalizeGoogleAI);
|
|
70
|
-
}
|
|
71
|
-
return Object.entries(modelsMap).map(([id, detail]) => normalizeV1Internal(id, detail));
|
|
72
|
-
}
|
|
73
|
-
catch (error) {
|
|
74
|
-
lastError = error;
|
|
75
|
-
const msg = error.message || '';
|
|
76
|
-
if (error.name === 'TypeError' || msg.includes('not found')) {
|
|
77
|
-
continue;
|
|
78
|
-
}
|
|
79
|
-
throw error;
|
|
80
|
-
}
|
|
20
|
+
export async function fetchAvailableModels() {
|
|
21
|
+
const apiKey = getApiKeyFromConfig();
|
|
22
|
+
if (!apiKey) {
|
|
23
|
+
throw new Error('Gemini API key required. Run "vibe gemini key <key>".');
|
|
81
24
|
}
|
|
82
|
-
throw lastError || new Error('All fetchAvailableModels endpoints failed');
|
|
83
|
-
}
|
|
84
|
-
/**
|
|
85
|
-
* Google AI Studio 모델 목록 (API Key)
|
|
86
|
-
*/
|
|
87
|
-
async function fetchModelsWithApiKey(apiKey) {
|
|
88
25
|
const url = `https://generativelanguage.googleapis.com/v1beta/models?key=${apiKey}`;
|
|
89
26
|
const response = await fetch(url, {
|
|
90
27
|
method: 'GET',
|
|
@@ -98,17 +35,4 @@ async function fetchModelsWithApiKey(apiKey) {
|
|
|
98
35
|
const rawModels = result.models || [];
|
|
99
36
|
return rawModels.map(normalizeGoogleAI);
|
|
100
37
|
}
|
|
101
|
-
/**
|
|
102
|
-
* 사용 가능한 모델 목록 조회 (OAuth / API Key 자동 선택)
|
|
103
|
-
*/
|
|
104
|
-
export async function fetchAvailableModels() {
|
|
105
|
-
const authInfo = await getAuthInfo();
|
|
106
|
-
if (authInfo.accessToken) {
|
|
107
|
-
return fetchModelsWithOAuth(authInfo.accessToken, authInfo.projectId);
|
|
108
|
-
}
|
|
109
|
-
if (authInfo.apiKey) {
|
|
110
|
-
return fetchModelsWithApiKey(authInfo.apiKey);
|
|
111
|
-
}
|
|
112
|
-
throw new Error('Gemini credentials not found.');
|
|
113
|
-
}
|
|
114
38
|
//# sourceMappingURL=models.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../../../src/infra/lib/gemini/models.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../../../src/infra/lib/gemini/models.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAehD,SAAS,iBAAiB,CAAC,GAAkB;IAC3C,OAAO;QACL,OAAO,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE;QACvB,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,IAAI,IAAI,EAAE;QAC9C,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,EAAE;QAClC,eAAe,EAAE,GAAG,CAAC,eAAe,IAAI,CAAC;QACzC,gBAAgB,EAAE,GAAG,CAAC,gBAAgB,IAAI,CAAC;QAC3C,gBAAgB,EAAE,GAAG,CAAC,0BAA0B,IAAI,EAAE;KACvD,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB;IACxC,MAAM,MAAM,GAAG,mBAAmB,EAAE,CAAC;IACrC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC3E,CAAC;IAED,MAAM,GAAG,GAAG,+DAA+D,MAAM,EAAE,CAAC;IACpF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAChC,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;KAChD,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,+BAA+B,QAAQ,CAAC,MAAM,MAAM,SAAS,EAAE,CAAC,CAAC;IACnF,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAkC,CAAC;IACrE,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;IAEtC,OAAO,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;AAC1C,CAAC"}
|
|
@@ -28,35 +28,35 @@ export async function coreGeminiOrchestrate(prompt, systemPrompt, options = {})
|
|
|
28
28
|
* Core Spec 파싱 (Core Spec → 실행 계획)
|
|
29
29
|
*/
|
|
30
30
|
export async function coreGeminiParseSpec(spec) {
|
|
31
|
-
return coreGeminiOrchestrate(spec, `You are a Core Spec parser. Parse the given specification and output a structured execution plan.
|
|
31
|
+
return coreGeminiOrchestrate(spec, `You are a Core Spec parser. Parse the given specification and output a structured execution plan.
|
|
32
32
|
Output format: { "phases": [...], "files": [...], "dependencies": [...] }`);
|
|
33
33
|
}
|
|
34
34
|
/**
|
|
35
35
|
* Core 실행 계획 수립 (Task → Steps)
|
|
36
36
|
*/
|
|
37
37
|
export async function coreGeminiPlanExecution(task, context) {
|
|
38
|
-
return coreGeminiOrchestrate(`Task: ${task}\n\nContext:\n${context}`, `You are a Core execution planner. Given a task and context, create a step-by-step execution plan.
|
|
38
|
+
return coreGeminiOrchestrate(`Task: ${task}\n\nContext:\n${context}`, `You are a Core execution planner. Given a task and context, create a step-by-step execution plan.
|
|
39
39
|
Output format: { "steps": [{ "id": 1, "action": "...", "target": "...", "expected": "..." }], "estimatedComplexity": "low|medium|high" }`);
|
|
40
40
|
}
|
|
41
41
|
/**
|
|
42
42
|
* Core 코드 분석 (빠른 구조 분석)
|
|
43
43
|
*/
|
|
44
44
|
export async function coreGeminiAnalyze(code, question) {
|
|
45
|
-
return coreGeminiOrchestrate(`Code:\n\`\`\`\n${code}\n\`\`\`\n\nQuestion: ${question}`, `You are a code analyzer. Answer the question about the given code concisely.
|
|
45
|
+
return coreGeminiOrchestrate(`Code:\n\`\`\`\n${code}\n\`\`\`\n\nQuestion: ${question}`, `You are a code analyzer. Answer the question about the given code concisely.
|
|
46
46
|
Output format: { "answer": "...", "confidence": 0.0-1.0, "relatedSymbols": [...] }`);
|
|
47
47
|
}
|
|
48
48
|
/**
|
|
49
49
|
* Core 다음 액션 결정 (상태 기반)
|
|
50
50
|
*/
|
|
51
51
|
export async function coreGeminiDecideNextAction(currentState, availableActions, goal) {
|
|
52
|
-
return coreGeminiOrchestrate(`Current State:\n${currentState}\n\nAvailable Actions:\n${availableActions.join('\n')}\n\nGoal: ${goal}`, `You are an action decider. Based on the current state and goal, select the best next action.
|
|
52
|
+
return coreGeminiOrchestrate(`Current State:\n${currentState}\n\nAvailable Actions:\n${availableActions.join('\n')}\n\nGoal: ${goal}`, `You are an action decider. Based on the current state and goal, select the best next action.
|
|
53
53
|
Output format: { "selectedAction": "...", "reason": "...", "parameters": {} }`);
|
|
54
54
|
}
|
|
55
55
|
/**
|
|
56
56
|
* Core UI/UX 분석 (검색 없이 내부 지식으로)
|
|
57
57
|
*/
|
|
58
58
|
export async function coreGeminiAnalyzeUX(description) {
|
|
59
|
-
return coreGeminiOrchestrate(description, `You are a UI/UX expert. Analyze the given design description and provide structured feedback.
|
|
59
|
+
return coreGeminiOrchestrate(description, `You are a UI/UX expert. Analyze the given design description and provide structured feedback.
|
|
60
60
|
Output format: { "issues": [...], "suggestions": [...], "accessibility": { "score": 0-100, "concerns": [...] } }`, { jsonMode: true });
|
|
61
61
|
}
|
|
62
62
|
//# sourceMappingURL=orchestration.js.map
|