@su-record/vibe 3.0.0 → 3.2.0
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/CLAUDE.md +2 -2
- package/README.en.md +6 -4
- package/README.md +5 -3
- package/dist/__tests__/wiring-integrity.test.d.ts +2 -0
- package/dist/__tests__/wiring-integrity.test.d.ts.map +1 -0
- package/dist/__tests__/wiring-integrity.test.js +160 -0
- package/dist/__tests__/wiring-integrity.test.js.map +1 -0
- package/dist/cli/commands/info.d.ts.map +1 -1
- package/dist/cli/commands/info.js +2 -1
- 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 +4 -2
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/index.js +102 -128
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/postinstall/claude-agents.d.ts.map +1 -1
- package/dist/cli/postinstall/claude-agents.js +0 -5
- package/dist/cli/postinstall/claude-agents.js.map +1 -1
- package/dist/cli/postinstall/constants.d.ts +6 -0
- package/dist/cli/postinstall/constants.d.ts.map +1 -1
- package/dist/cli/postinstall/constants.js +42 -60
- package/dist/cli/postinstall/constants.js.map +1 -1
- package/dist/cli/postinstall/inline-skills.js +2 -2
- 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 +2 -0
- package/dist/cli/postinstall/main.js.map +1 -1
- package/dist/cli/postinstall.d.ts +6 -1
- package/dist/cli/postinstall.d.ts.map +1 -1
- package/dist/cli/postinstall.js +6 -1
- package/dist/cli/postinstall.js.map +1 -1
- package/dist/cli/setup/GlobalInstaller.d.ts +1 -15
- package/dist/cli/setup/GlobalInstaller.d.ts.map +1 -1
- package/dist/cli/setup/GlobalInstaller.js +16 -115
- package/dist/cli/setup/GlobalInstaller.js.map +1 -1
- package/dist/cli/setup/GlobalInstaller.test.d.ts +2 -0
- package/dist/cli/setup/GlobalInstaller.test.d.ts.map +1 -0
- package/dist/cli/setup/GlobalInstaller.test.js +16 -0
- package/dist/cli/setup/GlobalInstaller.test.js.map +1 -0
- package/dist/cli/setup/ProjectSetup.js +2 -2
- package/dist/cli/setup/ProjectSetup.js.map +1 -1
- package/dist/cli/setup.d.ts +1 -1
- package/dist/cli/setup.d.ts.map +1 -1
- package/dist/cli/setup.js +1 -1
- package/dist/cli/setup.js.map +1 -1
- package/dist/infra/lib/SkillRepository.js +1 -1
- package/dist/infra/lib/evolution/__tests__/integration.test.js +0 -42
- package/dist/infra/lib/evolution/__tests__/integration.test.js.map +1 -1
- package/hooks/scripts/__tests__/.vibe/command-log.txt +3 -78
- package/hooks/scripts/__tests__/clone-behaviors.test.js +97 -1
- package/hooks/scripts/__tests__/clone-merge-responsive.test.js +106 -0
- package/hooks/scripts/__tests__/code-check-memory-write.test.js +81 -0
- package/hooks/scripts/__tests__/step-counter.test.js +21 -0
- package/hooks/scripts/auto-format.js +2 -11
- package/hooks/scripts/auto-test.js +2 -11
- package/hooks/scripts/clone-extract.js +388 -38
- package/hooks/scripts/clone-merge-responsive.js +184 -0
- package/hooks/scripts/clone-spec.js +33 -8
- package/hooks/scripts/clone-validate.js +15 -9
- package/hooks/scripts/code-check.js +27 -55
- package/hooks/scripts/lib/glob.js +32 -0
- package/hooks/scripts/lib/hook-context.js +19 -2
- package/hooks/scripts/post-edit.js +2 -3
- package/hooks/scripts/prompt-dispatcher.js +1 -1
- package/hooks/scripts/scope-guard.js +3 -42
- package/hooks/scripts/sentinel-guard.js +5 -20
- package/hooks/scripts/session-start.js +2 -2
- package/hooks/scripts/step-counter.js +35 -57
- package/package.json +6 -4
- package/skills/clone/SKILL.md +74 -203
- package/skills/clone/references/capture-rules.md +48 -0
- package/skills/clone/references/legal-and-error-recovery.md +40 -0
- package/skills/clone/references/refine-rules.md +61 -0
- package/skills/clone/references/scaffold-phases.md +59 -0
- package/skills/clone/references/setup-and-layout.md +30 -0
- package/skills/docs/SKILL.md +39 -4
- package/skills/docs/references/api-docs-changelog.md +34 -0
- package/skills/docs/references/codemaps-output.md +23 -0
- package/{agents/diagrammer.md → skills/docs/references/diagram-spec.md} +2 -15
- package/skills/exec-plan/SKILL.md +1 -1
- package/skills/exec-plan/templates/plan.md +1 -1
- package/skills/handoff/SKILL.md +3 -3
- package/skills/handoff/templates/handoff.md +1 -1
- package/skills/vibe/SKILL.md +3 -2
- package/skills/vibe.analyze/SKILL.md +12 -249
- package/skills/vibe.analyze/references/output-templates.md +188 -0
- package/skills/vibe.analyze/references/quality-gate.md +93 -0
- package/skills/vibe.clone/SKILL.md +52 -19
- package/skills/vibe.continue/SKILL.md +32 -0
- package/skills/vibe.design/SKILL.md +23 -1
- package/skills/vibe.design/references/ui-preview.md +20 -0
- package/skills/vibe.docs/SKILL.md +4 -2
- package/skills/vibe.figma/SKILL.md +33 -260
- package/skills/vibe.figma/references/branch-phases.md +113 -0
- package/skills/vibe.figma/references/state-schema.md +42 -0
- package/skills/vibe.figma/references/step-algorithms.md +204 -0
- package/skills/vibe.image/SKILL.md +62 -0
- package/skills/vibe.image/references/image-generation-examples.md +39 -0
- package/skills/vibe.reason/SKILL.md +3 -183
- package/skills/vibe.reason/references/output-format-template.md +57 -0
- package/skills/vibe.reason/references/quality-rubrics.md +94 -0
- package/skills/vibe.reason/references/worked-example.md +45 -0
- package/skills/vibe.review/SKILL.md +13 -348
- package/skills/vibe.review/references/boundary-check.md +25 -0
- package/skills/vibe.review/references/output-template.md +74 -0
- package/skills/vibe.review/references/quality-gate.md +84 -0
- package/skills/vibe.review/references/race-mode.md +117 -0
- package/skills/vibe.review/references/worked-examples.md +94 -0
- package/vibe/templates/claudemd-template.md +1 -1
- package/agents/acceptance-tester.md +0 -56
- package/agents/documenter.md +0 -43
- package/agents/figma/figma-engineer.md +0 -76
- package/dist/cli/llm/gemini-commands.d.ts +0 -25
- package/dist/cli/llm/gemini-commands.d.ts.map +0 -1
- package/dist/cli/llm/gemini-commands.js +0 -143
- package/dist/cli/llm/gemini-commands.js.map +0 -1
- package/dist/cli/postinstall/codex-agents.d.ts +0 -24
- package/dist/cli/postinstall/codex-agents.d.ts.map +0 -1
- package/dist/cli/postinstall/codex-agents.js +0 -114
- package/dist/cli/postinstall/codex-agents.js.map +0 -1
- package/dist/cli/postinstall/codex-instruction.d.ts +0 -10
- package/dist/cli/postinstall/codex-instruction.d.ts.map +0 -1
- package/dist/cli/postinstall/codex-instruction.js +0 -56
- package/dist/cli/postinstall/codex-instruction.js.map +0 -1
- package/dist/cli/postinstall/gemini-agents.d.ts +0 -12
- package/dist/cli/postinstall/gemini-agents.d.ts.map +0 -1
- package/dist/cli/postinstall/gemini-agents.js +0 -80
- package/dist/cli/postinstall/gemini-agents.js.map +0 -1
- package/dist/cli/postinstall/gemini-instruction.d.ts +0 -10
- package/dist/cli/postinstall/gemini-instruction.d.ts.map +0 -1
- package/dist/cli/postinstall/gemini-instruction.js +0 -59
- package/dist/cli/postinstall/gemini-instruction.js.map +0 -1
- package/dist/cli/postinstall/index.d.ts +0 -23
- package/dist/cli/postinstall/index.d.ts.map +0 -1
- package/dist/cli/postinstall/index.js +0 -23
- package/dist/cli/postinstall/index.js.map +0 -1
- package/dist/cli/setup/index.d.ts +0 -9
- package/dist/cli/setup/index.d.ts.map +0 -1
- package/dist/cli/setup/index.js +0 -12
- package/dist/cli/setup/index.js.map +0 -1
- package/dist/infra/lib/ContextCompressor.d.ts +0 -104
- package/dist/infra/lib/ContextCompressor.d.ts.map +0 -1
- package/dist/infra/lib/ContextCompressor.js +0 -297
- package/dist/infra/lib/ContextCompressor.js.map +0 -1
- package/dist/infra/lib/ContextCompressor.test.d.ts +0 -2
- package/dist/infra/lib/ContextCompressor.test.d.ts.map +0 -1
- package/dist/infra/lib/ContextCompressor.test.js +0 -25
- package/dist/infra/lib/ContextCompressor.test.js.map +0 -1
- package/dist/infra/lib/ProgressTracker.d.ts +0 -73
- package/dist/infra/lib/ProgressTracker.d.ts.map +0 -1
- package/dist/infra/lib/ProgressTracker.js +0 -267
- package/dist/infra/lib/ProgressTracker.js.map +0 -1
- package/dist/infra/lib/TokenBudgetTracker.d.ts +0 -68
- package/dist/infra/lib/TokenBudgetTracker.d.ts.map +0 -1
- package/dist/infra/lib/TokenBudgetTracker.js +0 -191
- package/dist/infra/lib/TokenBudgetTracker.js.map +0 -1
- package/dist/infra/lib/autonomy/AuditStore.d.ts +0 -63
- package/dist/infra/lib/autonomy/AuditStore.d.ts.map +0 -1
- package/dist/infra/lib/autonomy/AuditStore.js +0 -185
- package/dist/infra/lib/autonomy/AuditStore.js.map +0 -1
- package/dist/infra/lib/autonomy/AutonomyConfig.d.ts +0 -84
- package/dist/infra/lib/autonomy/AutonomyConfig.d.ts.map +0 -1
- package/dist/infra/lib/autonomy/AutonomyConfig.js +0 -49
- package/dist/infra/lib/autonomy/AutonomyConfig.js.map +0 -1
- package/dist/infra/lib/autonomy/AutonomyOrchestrator.d.ts +0 -78
- package/dist/infra/lib/autonomy/AutonomyOrchestrator.d.ts.map +0 -1
- package/dist/infra/lib/autonomy/AutonomyOrchestrator.js +0 -246
- package/dist/infra/lib/autonomy/AutonomyOrchestrator.js.map +0 -1
- package/dist/infra/lib/autonomy/BackgroundMonitor.d.ts +0 -36
- package/dist/infra/lib/autonomy/BackgroundMonitor.d.ts.map +0 -1
- package/dist/infra/lib/autonomy/BackgroundMonitor.js +0 -138
- package/dist/infra/lib/autonomy/BackgroundMonitor.js.map +0 -1
- package/dist/infra/lib/autonomy/CollaborationProtocol.d.ts +0 -56
- package/dist/infra/lib/autonomy/CollaborationProtocol.d.ts.map +0 -1
- package/dist/infra/lib/autonomy/CollaborationProtocol.js +0 -122
- package/dist/infra/lib/autonomy/CollaborationProtocol.js.map +0 -1
- package/dist/infra/lib/autonomy/ConfirmationManager.d.ts +0 -42
- package/dist/infra/lib/autonomy/ConfirmationManager.d.ts.map +0 -1
- package/dist/infra/lib/autonomy/ConfirmationManager.js +0 -200
- package/dist/infra/lib/autonomy/ConfirmationManager.js.map +0 -1
- package/dist/infra/lib/autonomy/ConfirmationStore.d.ts +0 -55
- package/dist/infra/lib/autonomy/ConfirmationStore.d.ts.map +0 -1
- package/dist/infra/lib/autonomy/ConfirmationStore.js +0 -130
- package/dist/infra/lib/autonomy/ConfirmationStore.js.map +0 -1
- package/dist/infra/lib/autonomy/EventBus.d.ts +0 -20
- package/dist/infra/lib/autonomy/EventBus.d.ts.map +0 -1
- package/dist/infra/lib/autonomy/EventBus.js +0 -119
- package/dist/infra/lib/autonomy/EventBus.js.map +0 -1
- package/dist/infra/lib/autonomy/EventOutbox.d.ts +0 -32
- package/dist/infra/lib/autonomy/EventOutbox.d.ts.map +0 -1
- package/dist/infra/lib/autonomy/EventOutbox.js +0 -152
- package/dist/infra/lib/autonomy/EventOutbox.js.map +0 -1
- package/dist/infra/lib/autonomy/NotificationDispatcher.d.ts +0 -24
- package/dist/infra/lib/autonomy/NotificationDispatcher.d.ts.map +0 -1
- package/dist/infra/lib/autonomy/NotificationDispatcher.js +0 -112
- package/dist/infra/lib/autonomy/NotificationDispatcher.js.map +0 -1
- package/dist/infra/lib/autonomy/PolicyEngine.d.ts +0 -76
- package/dist/infra/lib/autonomy/PolicyEngine.d.ts.map +0 -1
- package/dist/infra/lib/autonomy/PolicyEngine.js +0 -208
- package/dist/infra/lib/autonomy/PolicyEngine.js.map +0 -1
- package/dist/infra/lib/autonomy/ProactiveAnalyzer.d.ts +0 -61
- package/dist/infra/lib/autonomy/ProactiveAnalyzer.d.ts.map +0 -1
- package/dist/infra/lib/autonomy/ProactiveAnalyzer.js +0 -236
- package/dist/infra/lib/autonomy/ProactiveAnalyzer.js.map +0 -1
- package/dist/infra/lib/autonomy/RiskClassifier.d.ts +0 -35
- package/dist/infra/lib/autonomy/RiskClassifier.d.ts.map +0 -1
- package/dist/infra/lib/autonomy/RiskClassifier.js +0 -147
- package/dist/infra/lib/autonomy/RiskClassifier.js.map +0 -1
- package/dist/infra/lib/autonomy/SecuritySentinel.d.ts +0 -51
- package/dist/infra/lib/autonomy/SecuritySentinel.d.ts.map +0 -1
- package/dist/infra/lib/autonomy/SecuritySentinel.js +0 -162
- package/dist/infra/lib/autonomy/SecuritySentinel.js.map +0 -1
- package/dist/infra/lib/autonomy/SuggestionStore.d.ts +0 -54
- package/dist/infra/lib/autonomy/SuggestionStore.d.ts.map +0 -1
- package/dist/infra/lib/autonomy/SuggestionStore.js +0 -144
- package/dist/infra/lib/autonomy/SuggestionStore.js.map +0 -1
- package/dist/infra/lib/autonomy/TaskDecomposer.d.ts +0 -38
- package/dist/infra/lib/autonomy/TaskDecomposer.d.ts.map +0 -1
- package/dist/infra/lib/autonomy/TaskDecomposer.js +0 -175
- package/dist/infra/lib/autonomy/TaskDecomposer.js.map +0 -1
- package/dist/infra/lib/autonomy/__tests__/audit-store.test.d.ts +0 -2
- package/dist/infra/lib/autonomy/__tests__/audit-store.test.d.ts.map +0 -1
- package/dist/infra/lib/autonomy/__tests__/audit-store.test.js +0 -198
- package/dist/infra/lib/autonomy/__tests__/audit-store.test.js.map +0 -1
- package/dist/infra/lib/autonomy/__tests__/event-bus.test.d.ts +0 -2
- package/dist/infra/lib/autonomy/__tests__/event-bus.test.d.ts.map +0 -1
- package/dist/infra/lib/autonomy/__tests__/event-bus.test.js +0 -225
- package/dist/infra/lib/autonomy/__tests__/event-bus.test.js.map +0 -1
- package/dist/infra/lib/autonomy/__tests__/event-core.test.d.ts +0 -2
- package/dist/infra/lib/autonomy/__tests__/event-core.test.d.ts.map +0 -1
- package/dist/infra/lib/autonomy/__tests__/event-core.test.js +0 -194
- package/dist/infra/lib/autonomy/__tests__/event-core.test.js.map +0 -1
- package/dist/infra/lib/autonomy/__tests__/governance.test.d.ts +0 -2
- package/dist/infra/lib/autonomy/__tests__/governance.test.d.ts.map +0 -1
- package/dist/infra/lib/autonomy/__tests__/governance.test.js +0 -540
- package/dist/infra/lib/autonomy/__tests__/governance.test.js.map +0 -1
- package/dist/infra/lib/autonomy/__tests__/integration.test.d.ts +0 -2
- package/dist/infra/lib/autonomy/__tests__/integration.test.d.ts.map +0 -1
- package/dist/infra/lib/autonomy/__tests__/integration.test.js +0 -480
- package/dist/infra/lib/autonomy/__tests__/integration.test.js.map +0 -1
- package/dist/infra/lib/autonomy/__tests__/proactive.test.d.ts +0 -2
- package/dist/infra/lib/autonomy/__tests__/proactive.test.d.ts.map +0 -1
- package/dist/infra/lib/autonomy/__tests__/proactive.test.js +0 -410
- package/dist/infra/lib/autonomy/__tests__/proactive.test.js.map +0 -1
- package/dist/infra/lib/autonomy/__tests__/sentinel.test.d.ts +0 -2
- package/dist/infra/lib/autonomy/__tests__/sentinel.test.d.ts.map +0 -1
- package/dist/infra/lib/autonomy/__tests__/sentinel.test.js +0 -486
- package/dist/infra/lib/autonomy/__tests__/sentinel.test.js.map +0 -1
- package/dist/infra/lib/autonomy/index.d.ts +0 -18
- package/dist/infra/lib/autonomy/index.d.ts.map +0 -1
- package/dist/infra/lib/autonomy/index.js +0 -22
- package/dist/infra/lib/autonomy/index.js.map +0 -1
- package/dist/infra/lib/autonomy/schemas.d.ts +0 -317
- package/dist/infra/lib/autonomy/schemas.d.ts.map +0 -1
- package/dist/infra/lib/autonomy/schemas.js +0 -90
- package/dist/infra/lib/autonomy/schemas.js.map +0 -1
- package/dist/infra/lib/claude/index.d.ts +0 -5
- package/dist/infra/lib/claude/index.d.ts.map +0 -1
- package/dist/infra/lib/claude/index.js +0 -5
- package/dist/infra/lib/claude/index.js.map +0 -1
- package/dist/infra/lib/claude/storage.d.ts +0 -12
- package/dist/infra/lib/claude/storage.d.ts.map +0 -1
- package/dist/infra/lib/claude/storage.js +0 -54
- package/dist/infra/lib/claude/storage.js.map +0 -1
- package/dist/infra/lib/gemini/auth.d.ts +0 -18
- package/dist/infra/lib/gemini/auth.d.ts.map +0 -1
- package/dist/infra/lib/gemini/auth.js +0 -32
- package/dist/infra/lib/gemini/auth.js.map +0 -1
- package/dist/infra/lib/gemini/capabilities.d.ts +0 -28
- package/dist/infra/lib/gemini/capabilities.d.ts.map +0 -1
- package/dist/infra/lib/gemini/capabilities.js +0 -178
- package/dist/infra/lib/gemini/capabilities.js.map +0 -1
- package/dist/infra/lib/gemini/chat.d.ts +0 -35
- package/dist/infra/lib/gemini/chat.d.ts.map +0 -1
- package/dist/infra/lib/gemini/chat.js +0 -161
- package/dist/infra/lib/gemini/chat.js.map +0 -1
- package/dist/infra/lib/gemini/completion.d.ts +0 -12
- package/dist/infra/lib/gemini/completion.d.ts.map +0 -1
- package/dist/infra/lib/gemini/completion.js +0 -13
- package/dist/infra/lib/gemini/completion.js.map +0 -1
- package/dist/infra/lib/gemini/constants.d.ts +0 -8
- package/dist/infra/lib/gemini/constants.d.ts.map +0 -1
- package/dist/infra/lib/gemini/constants.js +0 -11
- package/dist/infra/lib/gemini/constants.js.map +0 -1
- package/dist/infra/lib/gemini/index.d.ts +0 -13
- package/dist/infra/lib/gemini/index.d.ts.map +0 -1
- package/dist/infra/lib/gemini/index.js +0 -12
- package/dist/infra/lib/gemini/index.js.map +0 -1
- package/dist/infra/lib/gemini/models.d.ts +0 -11
- package/dist/infra/lib/gemini/models.d.ts.map +0 -1
- package/dist/infra/lib/gemini/models.js +0 -38
- package/dist/infra/lib/gemini/models.js.map +0 -1
- package/dist/infra/lib/gemini/orchestration.d.ts +0 -33
- package/dist/infra/lib/gemini/orchestration.d.ts.map +0 -1
- package/dist/infra/lib/gemini/orchestration.js +0 -62
- package/dist/infra/lib/gemini/orchestration.js.map +0 -1
- package/dist/infra/lib/gemini/types.d.ts +0 -115
- package/dist/infra/lib/gemini/types.d.ts.map +0 -1
- package/dist/infra/lib/gemini/types.js +0 -5
- package/dist/infra/lib/gemini/types.js.map +0 -1
- package/dist/infra/orchestrator/AgentAnnouncer.d.ts +0 -64
- package/dist/infra/orchestrator/AgentAnnouncer.d.ts.map +0 -1
- package/dist/infra/orchestrator/AgentAnnouncer.js +0 -127
- package/dist/infra/orchestrator/AgentAnnouncer.js.map +0 -1
- package/dist/infra/orchestrator/AgentAnnouncer.test.d.ts +0 -5
- package/dist/infra/orchestrator/AgentAnnouncer.test.d.ts.map +0 -1
- package/dist/infra/orchestrator/AgentAnnouncer.test.js +0 -119
- package/dist/infra/orchestrator/AgentAnnouncer.test.js.map +0 -1
- package/dist/infra/orchestrator/AgentExecutor.d.ts +0 -22
- package/dist/infra/orchestrator/AgentExecutor.d.ts.map +0 -1
- package/dist/infra/orchestrator/AgentExecutor.js +0 -272
- package/dist/infra/orchestrator/AgentExecutor.js.map +0 -1
- package/dist/infra/orchestrator/AgentManager.d.ts +0 -72
- package/dist/infra/orchestrator/AgentManager.d.ts.map +0 -1
- package/dist/infra/orchestrator/AgentManager.js +0 -183
- package/dist/infra/orchestrator/AgentManager.js.map +0 -1
- package/dist/infra/orchestrator/AgentManifestCache.d.ts +0 -54
- package/dist/infra/orchestrator/AgentManifestCache.d.ts.map +0 -1
- package/dist/infra/orchestrator/AgentManifestCache.js +0 -191
- package/dist/infra/orchestrator/AgentManifestCache.js.map +0 -1
- package/dist/infra/orchestrator/AgentRegistry.d.ts +0 -76
- package/dist/infra/orchestrator/AgentRegistry.d.ts.map +0 -1
- package/dist/infra/orchestrator/AgentRegistry.js +0 -217
- package/dist/infra/orchestrator/AgentRegistry.js.map +0 -1
- package/dist/infra/orchestrator/AgentRegistry.test.d.ts +0 -5
- package/dist/infra/orchestrator/AgentRegistry.test.d.ts.map +0 -1
- package/dist/infra/orchestrator/AgentRegistry.test.js +0 -122
- package/dist/infra/orchestrator/AgentRegistry.test.js.map +0 -1
- package/dist/infra/orchestrator/BackgroundManager.d.ts +0 -128
- package/dist/infra/orchestrator/BackgroundManager.d.ts.map +0 -1
- package/dist/infra/orchestrator/BackgroundManager.js +0 -620
- package/dist/infra/orchestrator/BackgroundManager.js.map +0 -1
- package/dist/infra/orchestrator/BackgroundManager.test.d.ts +0 -6
- package/dist/infra/orchestrator/BackgroundManager.test.d.ts.map +0 -1
- package/dist/infra/orchestrator/BackgroundManager.test.js +0 -162
- package/dist/infra/orchestrator/BackgroundManager.test.js.map +0 -1
- package/dist/infra/orchestrator/CheckpointManager.d.ts +0 -54
- package/dist/infra/orchestrator/CheckpointManager.d.ts.map +0 -1
- package/dist/infra/orchestrator/CheckpointManager.js +0 -121
- package/dist/infra/orchestrator/CheckpointManager.js.map +0 -1
- package/dist/infra/orchestrator/CodexAgentRuntime.d.ts +0 -12
- package/dist/infra/orchestrator/CodexAgentRuntime.d.ts.map +0 -1
- package/dist/infra/orchestrator/CodexAgentRuntime.js +0 -94
- package/dist/infra/orchestrator/CodexAgentRuntime.js.map +0 -1
- package/dist/infra/orchestrator/CodexAgentRuntime.test.d.ts +0 -2
- package/dist/infra/orchestrator/CodexAgentRuntime.test.d.ts.map +0 -1
- package/dist/infra/orchestrator/CodexAgentRuntime.test.js +0 -37
- package/dist/infra/orchestrator/CodexAgentRuntime.test.js.map +0 -1
- package/dist/infra/orchestrator/LLMCluster.d.ts +0 -82
- package/dist/infra/orchestrator/LLMCluster.d.ts.map +0 -1
- package/dist/infra/orchestrator/LLMCluster.js +0 -146
- package/dist/infra/orchestrator/LLMCluster.js.map +0 -1
- package/dist/infra/orchestrator/MultiLlmResearch.d.ts +0 -31
- package/dist/infra/orchestrator/MultiLlmResearch.d.ts.map +0 -1
- package/dist/infra/orchestrator/MultiLlmResearch.js +0 -160
- package/dist/infra/orchestrator/MultiLlmResearch.js.map +0 -1
- package/dist/infra/orchestrator/PhasePipeline.d.ts +0 -122
- package/dist/infra/orchestrator/PhasePipeline.d.ts.map +0 -1
- package/dist/infra/orchestrator/PhasePipeline.js +0 -385
- package/dist/infra/orchestrator/PhasePipeline.js.map +0 -1
- package/dist/infra/orchestrator/PhaseResultStore.d.ts +0 -39
- package/dist/infra/orchestrator/PhaseResultStore.d.ts.map +0 -1
- package/dist/infra/orchestrator/PhaseResultStore.js +0 -151
- package/dist/infra/orchestrator/PhaseResultStore.js.map +0 -1
- package/dist/infra/orchestrator/SessionStore.d.ts +0 -40
- package/dist/infra/orchestrator/SessionStore.d.ts.map +0 -1
- package/dist/infra/orchestrator/SessionStore.js +0 -116
- package/dist/infra/orchestrator/SessionStore.js.map +0 -1
- package/dist/infra/orchestrator/SmartRouter.d.ts +0 -90
- package/dist/infra/orchestrator/SmartRouter.d.ts.map +0 -1
- package/dist/infra/orchestrator/SmartRouter.js +0 -277
- package/dist/infra/orchestrator/SmartRouter.js.map +0 -1
- package/dist/infra/orchestrator/SmartRouter.test.d.ts +0 -5
- package/dist/infra/orchestrator/SmartRouter.test.d.ts.map +0 -1
- package/dist/infra/orchestrator/SmartRouter.test.js +0 -484
- package/dist/infra/orchestrator/SmartRouter.test.js.map +0 -1
- package/dist/infra/orchestrator/SwarmOrchestrator.d.ts +0 -143
- package/dist/infra/orchestrator/SwarmOrchestrator.d.ts.map +0 -1
- package/dist/infra/orchestrator/SwarmOrchestrator.js +0 -378
- package/dist/infra/orchestrator/SwarmOrchestrator.js.map +0 -1
- package/dist/infra/orchestrator/SwarmOrchestrator.test.d.ts +0 -5
- package/dist/infra/orchestrator/SwarmOrchestrator.test.d.ts.map +0 -1
- package/dist/infra/orchestrator/SwarmOrchestrator.test.js +0 -95
- package/dist/infra/orchestrator/SwarmOrchestrator.test.js.map +0 -1
- package/dist/infra/orchestrator/agentDiscovery.d.ts +0 -26
- package/dist/infra/orchestrator/agentDiscovery.d.ts.map +0 -1
- package/dist/infra/orchestrator/agentDiscovery.js +0 -175
- package/dist/infra/orchestrator/agentDiscovery.js.map +0 -1
- package/dist/infra/orchestrator/backgroundAgent.d.ts +0 -9
- package/dist/infra/orchestrator/backgroundAgent.d.ts.map +0 -1
- package/dist/infra/orchestrator/backgroundAgent.js +0 -10
- package/dist/infra/orchestrator/backgroundAgent.js.map +0 -1
- package/dist/infra/orchestrator/index.d.ts +0 -207
- package/dist/infra/orchestrator/index.d.ts.map +0 -1
- package/dist/infra/orchestrator/index.js +0 -362
- package/dist/infra/orchestrator/index.js.map +0 -1
- package/dist/infra/orchestrator/orchestrator.d.ts +0 -60
- package/dist/infra/orchestrator/orchestrator.d.ts.map +0 -1
- package/dist/infra/orchestrator/orchestrator.js +0 -214
- package/dist/infra/orchestrator/orchestrator.js.map +0 -1
- package/dist/infra/orchestrator/parallelResearch.d.ts +0 -27
- package/dist/infra/orchestrator/parallelResearch.d.ts.map +0 -1
- package/dist/infra/orchestrator/parallelResearch.js +0 -285
- package/dist/infra/orchestrator/parallelResearch.js.map +0 -1
- package/dist/infra/orchestrator/types.d.ts +0 -205
- package/dist/infra/orchestrator/types.d.ts.map +0 -1
- package/dist/infra/orchestrator/types.js +0 -87
- package/dist/infra/orchestrator/types.js.map +0 -1
- package/dist/infra/orchestrator/types.test.d.ts +0 -2
- package/dist/infra/orchestrator/types.test.d.ts.map +0 -1
- package/dist/infra/orchestrator/types.test.js +0 -57
- package/dist/infra/orchestrator/types.test.js.map +0 -1
- package/dist/tools/semantic/analyzeDependencyGraph.d.ts +0 -12
- package/dist/tools/semantic/analyzeDependencyGraph.d.ts.map +0 -1
- package/dist/tools/semantic/analyzeDependencyGraph.js +0 -359
- package/dist/tools/semantic/analyzeDependencyGraph.js.map +0 -1
- package/dist/tools/semantic/astGrep.d.ts +0 -25
- package/dist/tools/semantic/astGrep.d.ts.map +0 -1
- package/dist/tools/semantic/astGrep.js +0 -324
- package/dist/tools/semantic/astGrep.js.map +0 -1
- package/dist/tools/semantic/astGrep.test.d.ts +0 -2
- package/dist/tools/semantic/astGrep.test.d.ts.map +0 -1
- package/dist/tools/semantic/astGrep.test.js +0 -74
- package/dist/tools/semantic/astGrep.test.js.map +0 -1
- package/dist/tools/semantic/findReferences.d.ts +0 -9
- package/dist/tools/semantic/findReferences.d.ts.map +0 -1
- package/dist/tools/semantic/findReferences.js +0 -200
- package/dist/tools/semantic/findReferences.js.map +0 -1
- package/dist/tools/semantic/findSymbol.d.ts +0 -8
- package/dist/tools/semantic/findSymbol.d.ts.map +0 -1
- package/dist/tools/semantic/findSymbol.js +0 -204
- package/dist/tools/semantic/findSymbol.js.map +0 -1
- package/dist/tools/semantic/index.d.ts +0 -9
- package/dist/tools/semantic/index.d.ts.map +0 -1
- package/dist/tools/semantic/index.js +0 -11
- package/dist/tools/semantic/index.js.map +0 -1
- package/dist/tools/semantic/lsp.d.ts +0 -68
- package/dist/tools/semantic/lsp.d.ts.map +0 -1
- package/dist/tools/semantic/lsp.js +0 -561
- package/dist/tools/semantic/lsp.js.map +0 -1
- package/dist/tools/spec/e2eTestGenerator.d.ts +0 -61
- package/dist/tools/spec/e2eTestGenerator.d.ts.map +0 -1
- package/dist/tools/spec/e2eTestGenerator.js +0 -255
- package/dist/tools/spec/e2eTestGenerator.js.map +0 -1
- package/dist/tools/spec/specVersioning.d.ts +0 -76
- package/dist/tools/spec/specVersioning.d.ts.map +0 -1
- package/dist/tools/spec/specVersioning.js +0 -236
- package/dist/tools/spec/specVersioning.js.map +0 -1
- package/hooks/scripts/__tests__/.vibe/memories/memories.db +0 -0
- package/hooks/scripts/__tests__/.vibe/memories/memories.db-shm +0 -0
- package/hooks/scripts/__tests__/.vibe/memories/memories.db-wal +0 -0
- package/hooks/scripts/evolution-engine.js +0 -91
- package/hooks/scripts/hud-status.js +0 -321
- package/hooks/scripts/skill-injector.js +0 -83
- package/skills/vibe.utils/SKILL.md +0 -415
|
@@ -1,178 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Gemini 확장 기능
|
|
3
|
-
*
|
|
4
|
-
* - 웹 검색, UI 분석, 이미지 생성, 이미지 분석
|
|
5
|
-
* - API Key → Google AI Studio
|
|
6
|
-
*/
|
|
7
|
-
import path from 'path';
|
|
8
|
-
import fs from 'fs';
|
|
9
|
-
import { getApiKeyFromConfig } from './auth.js';
|
|
10
|
-
import { ask, getGeminiModels, DEFAULT_MODEL } from './chat.js';
|
|
11
|
-
// =============================================
|
|
12
|
-
// 웹 검색
|
|
13
|
-
// =============================================
|
|
14
|
-
/**
|
|
15
|
-
* 웹서치로 최신 정보 검색 (Gemini Pro + Google Search)
|
|
16
|
-
*/
|
|
17
|
-
export async function webSearch(prompt) {
|
|
18
|
-
return ask(prompt, {
|
|
19
|
-
model: 'gemini-pro',
|
|
20
|
-
maxTokens: 4096,
|
|
21
|
-
temperature: 0.3,
|
|
22
|
-
webSearch: true,
|
|
23
|
-
systemPrompt: 'Search the web for the latest information and provide accurate answers. Always include today\'s date and time context when relevant.',
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* 빠른 웹서치 (Gemini Flash + Google Search)
|
|
28
|
-
*/
|
|
29
|
-
export async function quickWebSearch(prompt) {
|
|
30
|
-
return ask(prompt, {
|
|
31
|
-
model: 'gemini-flash',
|
|
32
|
-
maxTokens: 2048,
|
|
33
|
-
temperature: 0.3,
|
|
34
|
-
webSearch: true,
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
// =============================================
|
|
38
|
-
// UI 분석
|
|
39
|
-
// =============================================
|
|
40
|
-
/**
|
|
41
|
-
* UI/UX 분석용 (Gemini Pro)
|
|
42
|
-
*/
|
|
43
|
-
export async function analyzeUI(prompt) {
|
|
44
|
-
return ask(prompt, {
|
|
45
|
-
model: 'gemini-pro',
|
|
46
|
-
maxTokens: 4096,
|
|
47
|
-
temperature: 0.5,
|
|
48
|
-
systemPrompt: 'You are a UI/UX expert. Analyze the given design or component and provide detailed feedback.',
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
// =============================================
|
|
52
|
-
// 이미지 생성
|
|
53
|
-
// =============================================
|
|
54
|
-
const IMAGE_MODELS = {
|
|
55
|
-
'nano-banana': 'gemini-3.1-flash-image-preview',
|
|
56
|
-
'nano-banana-pro': 'gemini-3-pro-image-preview',
|
|
57
|
-
};
|
|
58
|
-
/**
|
|
59
|
-
* Gemini Image Generation (API Key only)
|
|
60
|
-
*/
|
|
61
|
-
export async function generateImage(prompt, options = {}) {
|
|
62
|
-
const apiKey = getApiKeyFromConfig();
|
|
63
|
-
if (!apiKey) {
|
|
64
|
-
throw new Error('Gemini API key required for image generation. Run "vibe gemini key <key>".');
|
|
65
|
-
}
|
|
66
|
-
const size = options.size || '1024x1024';
|
|
67
|
-
const [width, height] = size.split('x').map(Number);
|
|
68
|
-
const aspectRatio = width && height ? `${width}:${height}` : '1:1';
|
|
69
|
-
const imageModel = IMAGE_MODELS[options.model || 'nano-banana'];
|
|
70
|
-
const url = `https://generativelanguage.googleapis.com/v1beta/models/${imageModel}:generateContent?key=${apiKey}`;
|
|
71
|
-
const requestBody = {
|
|
72
|
-
contents: [{
|
|
73
|
-
parts: [{
|
|
74
|
-
text: `Generate an image: ${prompt}\n\nRequirements:\n- High quality, detailed image\n- Aspect ratio: ${aspectRatio}\n- Professional and polished look`,
|
|
75
|
-
}],
|
|
76
|
-
}],
|
|
77
|
-
generationConfig: {
|
|
78
|
-
responseModalities: ['TEXT', 'IMAGE'],
|
|
79
|
-
},
|
|
80
|
-
};
|
|
81
|
-
const response = await fetch(url, {
|
|
82
|
-
method: 'POST',
|
|
83
|
-
headers: { 'Content-Type': 'application/json' },
|
|
84
|
-
body: JSON.stringify(requestBody),
|
|
85
|
-
});
|
|
86
|
-
if (!response.ok) {
|
|
87
|
-
const errorText = await response.text();
|
|
88
|
-
let errorMessage = `Gemini Image API error (${response.status})`;
|
|
89
|
-
try {
|
|
90
|
-
const errorJson = JSON.parse(errorText);
|
|
91
|
-
if (errorJson.error?.message)
|
|
92
|
-
errorMessage = errorJson.error.message;
|
|
93
|
-
}
|
|
94
|
-
catch { /* ignore */ }
|
|
95
|
-
throw new Error(errorMessage);
|
|
96
|
-
}
|
|
97
|
-
const result = await response.json();
|
|
98
|
-
const parts = result.candidates?.[0]?.content?.parts || [];
|
|
99
|
-
for (const part of parts) {
|
|
100
|
-
if (part.inlineData?.mimeType?.startsWith('image/')) {
|
|
101
|
-
return {
|
|
102
|
-
data: Buffer.from(part.inlineData.data, 'base64'),
|
|
103
|
-
mimeType: part.inlineData.mimeType,
|
|
104
|
-
};
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
throw new Error('No image in Gemini response');
|
|
108
|
-
}
|
|
109
|
-
// =============================================
|
|
110
|
-
// 이미지 분석 (Multimodal)
|
|
111
|
-
// =============================================
|
|
112
|
-
function getImageMimeType(filePath) {
|
|
113
|
-
const ext = path.extname(filePath).toLowerCase();
|
|
114
|
-
const mimeMap = {
|
|
115
|
-
'.png': 'image/png',
|
|
116
|
-
'.jpg': 'image/jpeg',
|
|
117
|
-
'.jpeg': 'image/jpeg',
|
|
118
|
-
'.gif': 'image/gif',
|
|
119
|
-
'.webp': 'image/webp',
|
|
120
|
-
'.bmp': 'image/bmp',
|
|
121
|
-
};
|
|
122
|
-
return mimeMap[ext] || 'image/png';
|
|
123
|
-
}
|
|
124
|
-
async function analyzeImageWithApiKey(apiKey, contents, options) {
|
|
125
|
-
const modelInfo = getGeminiModels()[options.model] || getGeminiModels()[DEFAULT_MODEL];
|
|
126
|
-
const actualModel = modelInfo.id;
|
|
127
|
-
const requestBody = {
|
|
128
|
-
contents,
|
|
129
|
-
generationConfig: {
|
|
130
|
-
maxOutputTokens: options.maxTokens,
|
|
131
|
-
temperature: options.temperature,
|
|
132
|
-
},
|
|
133
|
-
};
|
|
134
|
-
if (options.systemPrompt) {
|
|
135
|
-
requestBody.systemInstruction = { parts: [{ text: options.systemPrompt }] };
|
|
136
|
-
}
|
|
137
|
-
const url = `https://generativelanguage.googleapis.com/v1beta/models/${actualModel}:generateContent?key=${apiKey}`;
|
|
138
|
-
const response = await fetch(url, {
|
|
139
|
-
method: 'POST',
|
|
140
|
-
headers: { 'Content-Type': 'application/json' },
|
|
141
|
-
body: JSON.stringify(requestBody),
|
|
142
|
-
});
|
|
143
|
-
if (!response.ok) {
|
|
144
|
-
const errorText = await response.text();
|
|
145
|
-
throw new Error(`Gemini API error (${response.status}): ${errorText}`);
|
|
146
|
-
}
|
|
147
|
-
const result = await response.json();
|
|
148
|
-
if (!result.candidates || result.candidates.length === 0) {
|
|
149
|
-
throw new Error('Gemini API response is empty.');
|
|
150
|
-
}
|
|
151
|
-
return result.candidates[0].content?.parts?.[0]?.text || '';
|
|
152
|
-
}
|
|
153
|
-
/**
|
|
154
|
-
* Gemini 이미지 분석 (Multimodal)
|
|
155
|
-
*/
|
|
156
|
-
export async function analyzeImage(imagePath, prompt, options = {}) {
|
|
157
|
-
const { model = 'gemini-flash', maxTokens = 4096, temperature = 0.3, systemPrompt, } = options;
|
|
158
|
-
const absolutePath = path.resolve(imagePath);
|
|
159
|
-
if (!fs.existsSync(absolutePath)) {
|
|
160
|
-
throw new Error(`Image file not found: ${absolutePath}`);
|
|
161
|
-
}
|
|
162
|
-
const imageData = fs.readFileSync(absolutePath);
|
|
163
|
-
const base64Data = imageData.toString('base64');
|
|
164
|
-
const mimeType = getImageMimeType(absolutePath);
|
|
165
|
-
const contents = [{
|
|
166
|
-
role: 'user',
|
|
167
|
-
parts: [
|
|
168
|
-
{ inlineData: { mimeType, data: base64Data } },
|
|
169
|
-
{ text: prompt },
|
|
170
|
-
],
|
|
171
|
-
}];
|
|
172
|
-
const apiKey = getApiKeyFromConfig();
|
|
173
|
-
if (!apiKey) {
|
|
174
|
-
throw new Error('Gemini API key required for image analysis.');
|
|
175
|
-
}
|
|
176
|
-
return analyzeImageWithApiKey(apiKey, contents, { model, maxTokens, temperature, systemPrompt });
|
|
177
|
-
}
|
|
178
|
-
//# sourceMappingURL=capabilities.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../../../src/infra/lib/gemini/capabilities.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,GAAG,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAShE,gDAAgD;AAChD,OAAO;AACP,gDAAgD;AAEhD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,MAAc;IAC5C,OAAO,GAAG,CAAC,MAAM,EAAE;QACjB,KAAK,EAAE,YAAY;QACnB,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,GAAG;QAChB,SAAS,EAAE,IAAI;QACf,YAAY,EAAE,sIAAsI;KACrJ,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,MAAc;IACjD,OAAO,GAAG,CAAC,MAAM,EAAE;QACjB,KAAK,EAAE,cAAc;QACrB,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,GAAG;QAChB,SAAS,EAAE,IAAI;KAChB,CAAC,CAAC;AACL,CAAC;AAED,gDAAgD;AAChD,QAAQ;AACR,gDAAgD;AAEhD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,MAAc;IAC5C,OAAO,GAAG,CAAC,MAAM,EAAE;QACjB,KAAK,EAAE,YAAY;QACnB,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,GAAG;QAChB,YAAY,EAAE,8FAA8F;KAC7G,CAAC,CAAC;AACL,CAAC;AAED,gDAAgD;AAChD,SAAS;AACT,gDAAgD;AAEhD,MAAM,YAAY,GAAG;IACnB,aAAa,EAAE,gCAAgC;IAC/C,iBAAiB,EAAE,4BAA4B;CACvC,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAAc,EACd,UAAkC,EAAE;IAEpC,MAAM,MAAM,GAAG,mBAAmB,EAAE,CAAC;IACrC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAC;IAChG,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,WAAW,CAAC;IACzC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACpD,MAAM,WAAW,GAAG,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;IAEnE,MAAM,UAAU,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,IAAI,aAAa,CAAC,CAAC;IAChE,MAAM,GAAG,GAAG,2DAA2D,UAAU,wBAAwB,MAAM,EAAE,CAAC;IAElH,MAAM,WAAW,GAAG;QAClB,QAAQ,EAAE,CAAC;gBACT,KAAK,EAAE,CAAC;wBACN,IAAI,EAAE,sBAAsB,MAAM,sEAAsE,WAAW,oCAAoC;qBACxJ,CAAC;aACH,CAAC;QACF,gBAAgB,EAAE;YAChB,kBAAkB,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;SACtC;KACF,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAChC,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;KAClC,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACxC,IAAI,YAAY,GAAG,2BAA2B,QAAQ,CAAC,MAAM,GAAG,CAAC;QACjE,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAqC,CAAC;YAC5E,IAAI,SAAS,CAAC,KAAK,EAAE,OAAO;gBAAE,YAAY,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC;QACvE,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;IAChC,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EASjC,CAAC;IAEF,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC;IAC3D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpD,OAAO;gBACL,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC;gBACjD,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ;aACnC,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;AACjD,CAAC;AAED,gDAAgD;AAChD,sBAAsB;AACtB,gDAAgD;AAEhD,SAAS,gBAAgB,CAAC,QAAgB;IACxC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;IACjD,MAAM,OAAO,GAA2B;QACtC,MAAM,EAAE,WAAW;QACnB,MAAM,EAAE,YAAY;QACpB,OAAO,EAAE,YAAY;QACrB,MAAM,EAAE,WAAW;QACnB,OAAO,EAAE,YAAY;QACrB,MAAM,EAAE,WAAW;KACpB,CAAC;IACF,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC;AACrC,CAAC;AAED,KAAK,UAAU,sBAAsB,CACnC,MAAc,EACd,QAA6B,EAC7B,OAAyF;IAEzF,MAAM,SAAS,GAAG,eAAe,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,eAAe,EAAE,CAAC,aAAa,CAAC,CAAC;IACvF,MAAM,WAAW,GAAG,SAAS,CAAC,EAAE,CAAC;IAEjC,MAAM,WAAW,GAA4B;QAC3C,QAAQ;QACR,gBAAgB,EAAE;YAChB,eAAe,EAAE,OAAO,CAAC,SAAS;YAClC,WAAW,EAAE,OAAO,CAAC,WAAW;SACjC;KACF,CAAC;IACF,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QACzB,WAAW,CAAC,iBAAiB,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC;IAC9E,CAAC;IAED,MAAM,GAAG,GAAG,2DAA2D,WAAW,wBAAwB,MAAM,EAAE,CAAC;IACnH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAChC,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;KAClC,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,qBAAqB,QAAQ,CAAC,MAAM,MAAM,SAAS,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAuB,CAAC;IAC1D,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzD,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC;AAC9D,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,SAAiB,EACjB,MAAc,EACd,UAAgC,EAAE;IAElC,MAAM,EACJ,KAAK,GAAG,cAAc,EACtB,SAAS,GAAG,IAAI,EAChB,WAAW,GAAG,GAAG,EACjB,YAAY,GACb,GAAG,OAAO,CAAC;IAEZ,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC7C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,yBAAyB,YAAY,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,SAAS,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC;IAEhD,MAAM,QAAQ,GAAwB,CAAC;YACrC,IAAI,EAAE,MAAe;YACrB,KAAK,EAAE;gBACL,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE;gBAC9C,EAAE,IAAI,EAAE,MAAM,EAAE;aACjB;SACF,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,mBAAmB,EAAE,CAAC;IACrC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACjE,CAAC;IAED,OAAO,sBAAsB,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC,CAAC;AACnG,CAAC"}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Gemini Chat API (generateContent)
|
|
3
|
-
*
|
|
4
|
-
* API Key → Google AI Studio
|
|
5
|
-
*/
|
|
6
|
-
import type { GeminiModelInfo, ChatOptions, ChatResponse, StreamChunk } from './types.js';
|
|
7
|
-
export declare function getGeminiModels(): Record<string, GeminiModelInfo>;
|
|
8
|
-
/** @deprecated getGeminiModels() 사용 권장 */
|
|
9
|
-
export declare const GEMINI_MODELS: Record<string, GeminiModelInfo>;
|
|
10
|
-
export declare const DEFAULT_MODEL = "gemini-flash";
|
|
11
|
-
/**
|
|
12
|
-
* Gemini API 호출 (API Key)
|
|
13
|
-
*/
|
|
14
|
-
export declare function chat(options: ChatOptions): Promise<ChatResponse>;
|
|
15
|
-
/**
|
|
16
|
-
* 스트리밍 Chat (API Key → 단일 yield)
|
|
17
|
-
*/
|
|
18
|
-
export declare function chatStream(options: ChatOptions): AsyncGenerator<StreamChunk>;
|
|
19
|
-
/**
|
|
20
|
-
* 사용 가능한 모델 목록
|
|
21
|
-
*/
|
|
22
|
-
export declare function getAvailableModels(): GeminiModelInfo[];
|
|
23
|
-
/**
|
|
24
|
-
* 모델 정보 가져오기
|
|
25
|
-
*/
|
|
26
|
-
export declare function getModelInfo(modelId: string): GeminiModelInfo | null;
|
|
27
|
-
/**
|
|
28
|
-
* 간단한 질문-응답
|
|
29
|
-
*/
|
|
30
|
-
export declare function ask(prompt: string, options?: Omit<ChatOptions, 'messages'>): Promise<string>;
|
|
31
|
-
/**
|
|
32
|
-
* 코드 탐색용 빠른 질문 (Gemini Flash)
|
|
33
|
-
*/
|
|
34
|
-
export declare function quickAsk(prompt: string): Promise<string>;
|
|
35
|
-
//# sourceMappingURL=chat.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../../../src/infra/lib/gemini/chat.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AASH,OAAO,KAAK,EACV,eAAe,EACf,WAAW,EACX,YAAY,EACZ,WAAW,EAEZ,MAAM,YAAY,CAAC;AAMpB,wBAAgB,eAAe,IAAI,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAkBjE;AAED,0CAA0C;AAC1C,eAAO,MAAM,aAAa,iCAAoB,CAAC;AAE/C,eAAO,MAAM,aAAa,iBAAiB,CAAC;AAgG5C;;GAEG;AACH,wBAAsB,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAQtE;AAED;;GAEG;AACH,wBAAuB,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,cAAc,CAAC,WAAW,CAAC,CASnF;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,161 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Gemini Chat API (generateContent)
|
|
3
|
-
*
|
|
4
|
-
* API Key → Google AI Studio
|
|
5
|
-
*/
|
|
6
|
-
import { sleep } from '../utils.js';
|
|
7
|
-
import { getAuthInfo } from './auth.js';
|
|
8
|
-
import { getModelOverride } from '../config/GlobalConfigManager.js';
|
|
9
|
-
import { MAX_RETRIES, RETRY_BASE_DELAY_MS, } from './constants.js';
|
|
10
|
-
// =============================================
|
|
11
|
-
// 모델 레지스트리
|
|
12
|
-
// =============================================
|
|
13
|
-
export function getGeminiModels() {
|
|
14
|
-
const proId = getModelOverride('gemini') ?? process.env.GEMINI_MODEL ?? 'gemini-3.1-pro-preview';
|
|
15
|
-
const flashId = getModelOverride('geminiFlash') ?? process.env.GEMINI_FLASH_MODEL ?? 'gemini-3.1-flash-lite-preview';
|
|
16
|
-
return {
|
|
17
|
-
'gemini-pro': {
|
|
18
|
-
id: proId,
|
|
19
|
-
name: 'Gemini Pro',
|
|
20
|
-
description: 'Pro model for complex tasks',
|
|
21
|
-
maxTokens: 8192,
|
|
22
|
-
},
|
|
23
|
-
'gemini-flash': {
|
|
24
|
-
id: flashId,
|
|
25
|
-
name: 'Gemini Flash',
|
|
26
|
-
description: 'Flash model, fastest',
|
|
27
|
-
maxTokens: 8192,
|
|
28
|
-
},
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
/** @deprecated getGeminiModels() 사용 권장 */
|
|
32
|
-
export const GEMINI_MODELS = getGeminiModels();
|
|
33
|
-
export const DEFAULT_MODEL = 'gemini-flash';
|
|
34
|
-
// =============================================
|
|
35
|
-
// API Key 방식 (Google AI Studio)
|
|
36
|
-
// =============================================
|
|
37
|
-
async function chatWithApiKey(apiKey, options) {
|
|
38
|
-
const { model = DEFAULT_MODEL, messages = [], maxTokens = 4096, temperature = 0.7, systemPrompt = '', jsonMode = false, } = options;
|
|
39
|
-
const models = getGeminiModels();
|
|
40
|
-
const modelInfo = models[model] || models[DEFAULT_MODEL];
|
|
41
|
-
const actualModel = modelInfo.id;
|
|
42
|
-
const contents = messages.map(msg => ({
|
|
43
|
-
role: msg.role === 'assistant' || msg.role === 'model' ? 'model' : 'user',
|
|
44
|
-
parts: [{ text: msg.content }],
|
|
45
|
-
}));
|
|
46
|
-
const generationConfig = {
|
|
47
|
-
maxOutputTokens: maxTokens,
|
|
48
|
-
temperature,
|
|
49
|
-
};
|
|
50
|
-
if (jsonMode) {
|
|
51
|
-
generationConfig.responseMimeType = 'application/json';
|
|
52
|
-
}
|
|
53
|
-
const requestBody = {
|
|
54
|
-
contents,
|
|
55
|
-
generationConfig,
|
|
56
|
-
};
|
|
57
|
-
if (systemPrompt) {
|
|
58
|
-
requestBody.systemInstruction = { parts: [{ text: systemPrompt }] };
|
|
59
|
-
}
|
|
60
|
-
const retryCount = options._retryCount || 0;
|
|
61
|
-
try {
|
|
62
|
-
const url = `https://generativelanguage.googleapis.com/v1beta/models/${actualModel}:generateContent?key=${apiKey}`;
|
|
63
|
-
const response = await fetch(url, {
|
|
64
|
-
method: 'POST',
|
|
65
|
-
headers: { 'Content-Type': 'application/json' },
|
|
66
|
-
body: JSON.stringify(requestBody),
|
|
67
|
-
});
|
|
68
|
-
if (!response.ok) {
|
|
69
|
-
const errorText = await response.text();
|
|
70
|
-
if (response.status === 429 && retryCount < MAX_RETRIES) {
|
|
71
|
-
await sleep(Math.pow(2, retryCount) * RETRY_BASE_DELAY_MS);
|
|
72
|
-
return chatWithApiKey(apiKey, { ...options, _retryCount: retryCount + 1 });
|
|
73
|
-
}
|
|
74
|
-
let errorMessage = `Google AI API error (${response.status})`;
|
|
75
|
-
try {
|
|
76
|
-
const errorJson = JSON.parse(errorText);
|
|
77
|
-
if (errorJson.error?.message)
|
|
78
|
-
errorMessage = errorJson.error.message;
|
|
79
|
-
}
|
|
80
|
-
catch { /* ignore */ }
|
|
81
|
-
throw new Error(errorMessage);
|
|
82
|
-
}
|
|
83
|
-
const result = await response.json();
|
|
84
|
-
if (!result.candidates || result.candidates.length === 0) {
|
|
85
|
-
throw new Error('Gemini API response is empty.');
|
|
86
|
-
}
|
|
87
|
-
const candidate = result.candidates[0];
|
|
88
|
-
return {
|
|
89
|
-
content: candidate.content?.parts?.[0]?.text || '',
|
|
90
|
-
model: actualModel,
|
|
91
|
-
finishReason: candidate.finishReason,
|
|
92
|
-
usage: result.usageMetadata,
|
|
93
|
-
};
|
|
94
|
-
}
|
|
95
|
-
catch (error) {
|
|
96
|
-
if (error.name === 'TypeError' && retryCount < MAX_RETRIES) {
|
|
97
|
-
await sleep(Math.pow(2, retryCount) * RETRY_BASE_DELAY_MS);
|
|
98
|
-
return chatWithApiKey(apiKey, { ...options, _retryCount: retryCount + 1 });
|
|
99
|
-
}
|
|
100
|
-
throw error;
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
// =============================================
|
|
104
|
-
// Public API
|
|
105
|
-
// =============================================
|
|
106
|
-
/**
|
|
107
|
-
* Gemini API 호출 (API Key)
|
|
108
|
-
*/
|
|
109
|
-
export async function chat(options) {
|
|
110
|
-
const authInfo = await getAuthInfo();
|
|
111
|
-
if (authInfo.apiKey) {
|
|
112
|
-
return chatWithApiKey(authInfo.apiKey, options);
|
|
113
|
-
}
|
|
114
|
-
throw new Error('Gemini API key not found.');
|
|
115
|
-
}
|
|
116
|
-
/**
|
|
117
|
-
* 스트리밍 Chat (API Key → 단일 yield)
|
|
118
|
-
*/
|
|
119
|
-
export async function* chatStream(options) {
|
|
120
|
-
const result = await chat(options);
|
|
121
|
-
yield {
|
|
122
|
-
content: result.content,
|
|
123
|
-
done: true,
|
|
124
|
-
model: result.model,
|
|
125
|
-
finishReason: result.finishReason,
|
|
126
|
-
usage: result.usage,
|
|
127
|
-
};
|
|
128
|
-
}
|
|
129
|
-
/**
|
|
130
|
-
* 사용 가능한 모델 목록
|
|
131
|
-
*/
|
|
132
|
-
export function getAvailableModels() {
|
|
133
|
-
return Object.values(getGeminiModels());
|
|
134
|
-
}
|
|
135
|
-
/**
|
|
136
|
-
* 모델 정보 가져오기
|
|
137
|
-
*/
|
|
138
|
-
export function getModelInfo(modelId) {
|
|
139
|
-
return getGeminiModels()[modelId] || null;
|
|
140
|
-
}
|
|
141
|
-
/**
|
|
142
|
-
* 간단한 질문-응답
|
|
143
|
-
*/
|
|
144
|
-
export async function ask(prompt, options = {}) {
|
|
145
|
-
const result = await chat({
|
|
146
|
-
...options,
|
|
147
|
-
messages: [{ role: 'user', content: prompt }],
|
|
148
|
-
});
|
|
149
|
-
return result.content;
|
|
150
|
-
}
|
|
151
|
-
/**
|
|
152
|
-
* 코드 탐색용 빠른 질문 (Gemini Flash)
|
|
153
|
-
*/
|
|
154
|
-
export async function quickAsk(prompt) {
|
|
155
|
-
return ask(prompt, {
|
|
156
|
-
model: 'gemini-flash',
|
|
157
|
-
maxTokens: 2048,
|
|
158
|
-
temperature: 0.3,
|
|
159
|
-
});
|
|
160
|
-
}
|
|
161
|
-
//# sourceMappingURL=chat.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chat.js","sourceRoot":"","sources":["../../../../src/infra/lib/gemini/chat.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Code Completion (placeholder)
|
|
3
|
-
*
|
|
4
|
-
* completeCode는 v1internal OAuth 전용이었으므로 제거됨.
|
|
5
|
-
* gemini-cli 직접 호출로 대체 가능.
|
|
6
|
-
*/
|
|
7
|
-
import type { CompleteCodeOptions, CompleteCodeResponse } from './types.js';
|
|
8
|
-
/**
|
|
9
|
-
* 코드 자동완성 (미지원 — OAuth 제거됨)
|
|
10
|
-
*/
|
|
11
|
-
export declare function completeCode(_options: CompleteCodeOptions): Promise<CompleteCodeResponse>;
|
|
12
|
-
//# sourceMappingURL=completion.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
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,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Code Completion (placeholder)
|
|
3
|
-
*
|
|
4
|
-
* completeCode는 v1internal OAuth 전용이었으므로 제거됨.
|
|
5
|
-
* gemini-cli 직접 호출로 대체 가능.
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
* 코드 자동완성 (미지원 — OAuth 제거됨)
|
|
9
|
-
*/
|
|
10
|
-
export async function completeCode(_options) {
|
|
11
|
-
throw new Error('completeCode is no longer supported. Use gemini-cli directly for code completion.');
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=completion.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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 +0,0 @@
|
|
|
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,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Gemini API 상수
|
|
3
|
-
*
|
|
4
|
-
* Auth: gemini-cli / codex-cli / API Key 만 지원
|
|
5
|
-
*/
|
|
6
|
-
// =============================================
|
|
7
|
-
// Retry & Timeout
|
|
8
|
-
// =============================================
|
|
9
|
-
export const MAX_RETRIES = 3;
|
|
10
|
-
export const RETRY_BASE_DELAY_MS = 1000;
|
|
11
|
-
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Gemini API 모듈
|
|
3
|
-
*
|
|
4
|
-
* Auth: gemini-cli / codex-cli (hooks) + API Key (library)
|
|
5
|
-
*/
|
|
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';
|
|
8
|
-
export { getGlobalConfigDir } from '../llm/auth/ConfigManager.js';
|
|
9
|
-
export { GEMINI_MODELS, getGeminiModels, DEFAULT_MODEL, chat, chatStream, getAvailableModels, getModelInfo, ask, quickAsk, } from './chat.js';
|
|
10
|
-
export { webSearch, quickWebSearch, analyzeUI, generateImage, analyzeImage, } from './capabilities.js';
|
|
11
|
-
export { coreGeminiOrchestrate, coreGeminiParseSpec, coreGeminiPlanExecution, coreGeminiAnalyze, coreGeminiDecideNextAction, coreGeminiAnalyzeUX, } from './orchestration.js';
|
|
12
|
-
export { fetchAvailableModels } from './models.js';
|
|
13
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
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,12 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Gemini API 모듈
|
|
3
|
-
*
|
|
4
|
-
* Auth: gemini-cli / codex-cli (hooks) + API Key (library)
|
|
5
|
-
*/
|
|
6
|
-
export { getApiKeyFromConfig, getAuthInfo, } from './auth.js';
|
|
7
|
-
export { getGlobalConfigDir } from '../llm/auth/ConfigManager.js';
|
|
8
|
-
export { GEMINI_MODELS, getGeminiModels, DEFAULT_MODEL, chat, chatStream, getAvailableModels, getModelInfo, ask, quickAsk, } from './chat.js';
|
|
9
|
-
export { webSearch, quickWebSearch, analyzeUI, generateImage, analyzeImage, } from './capabilities.js';
|
|
10
|
-
export { coreGeminiOrchestrate, coreGeminiParseSpec, coreGeminiPlanExecution, coreGeminiAnalyze, coreGeminiDecideNextAction, coreGeminiAnalyzeUX, } from './orchestration.js';
|
|
11
|
-
export { fetchAvailableModels } from './models.js';
|
|
12
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Gemini Model Discovery API
|
|
3
|
-
*
|
|
4
|
-
* Google AI Studio (API Key) 전용
|
|
5
|
-
*/
|
|
6
|
-
import type { AvailableModel } from './types.js';
|
|
7
|
-
/**
|
|
8
|
-
* 사용 가능한 모델 목록 조회 (API Key)
|
|
9
|
-
*/
|
|
10
|
-
export declare function fetchAvailableModels(): Promise<AvailableModel[]>;
|
|
11
|
-
//# sourceMappingURL=models.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
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,38 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Gemini Model Discovery API
|
|
3
|
-
*
|
|
4
|
-
* Google AI Studio (API Key) 전용
|
|
5
|
-
*/
|
|
6
|
-
import { getApiKeyFromConfig } from './auth.js';
|
|
7
|
-
function normalizeGoogleAI(raw) {
|
|
8
|
-
return {
|
|
9
|
-
modelId: raw.name || '',
|
|
10
|
-
displayName: raw.displayName || raw.name || '',
|
|
11
|
-
description: raw.description || '',
|
|
12
|
-
inputTokenLimit: raw.inputTokenLimit || 0,
|
|
13
|
-
outputTokenLimit: raw.outputTokenLimit || 0,
|
|
14
|
-
supportedActions: raw.supportedGenerationMethods || [],
|
|
15
|
-
};
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* 사용 가능한 모델 목록 조회 (API Key)
|
|
19
|
-
*/
|
|
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>".');
|
|
24
|
-
}
|
|
25
|
-
const url = `https://generativelanguage.googleapis.com/v1beta/models?key=${apiKey}`;
|
|
26
|
-
const response = await fetch(url, {
|
|
27
|
-
method: 'GET',
|
|
28
|
-
headers: { 'Content-Type': 'application/json' },
|
|
29
|
-
});
|
|
30
|
-
if (!response.ok) {
|
|
31
|
-
const errorText = await response.text();
|
|
32
|
-
throw new Error(`Google AI models API error (${response.status}): ${errorText}`);
|
|
33
|
-
}
|
|
34
|
-
const result = await response.json();
|
|
35
|
-
const rawModels = result.models || [];
|
|
36
|
-
return rawModels.map(normalizeGoogleAI);
|
|
37
|
-
}
|
|
38
|
-
//# sourceMappingURL=models.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Gemini 오케스트레이션 함수
|
|
3
|
-
* - 검색 없이 빠르고 결정론적인 응답
|
|
4
|
-
*/
|
|
5
|
-
import type { VibeGeminiOptions } from './types.js';
|
|
6
|
-
/**
|
|
7
|
-
* Core Gemini 오케스트레이션 (검색 없음, JSON 모드)
|
|
8
|
-
* - 검색 제외로 빠른 응답
|
|
9
|
-
* - temperature=0 으로 결정론적 결과
|
|
10
|
-
* - JSON 출력 강제 가능
|
|
11
|
-
*/
|
|
12
|
-
export declare function coreGeminiOrchestrate(prompt: string, systemPrompt: string, options?: VibeGeminiOptions): Promise<string>;
|
|
13
|
-
/**
|
|
14
|
-
* Core Spec 파싱 (Core Spec → 실행 계획)
|
|
15
|
-
*/
|
|
16
|
-
export declare function coreGeminiParseSpec(spec: string): Promise<string>;
|
|
17
|
-
/**
|
|
18
|
-
* Core 실행 계획 수립 (Task → Steps)
|
|
19
|
-
*/
|
|
20
|
-
export declare function coreGeminiPlanExecution(task: string, context: string): Promise<string>;
|
|
21
|
-
/**
|
|
22
|
-
* Core 코드 분석 (빠른 구조 분석)
|
|
23
|
-
*/
|
|
24
|
-
export declare function coreGeminiAnalyze(code: string, question: string): Promise<string>;
|
|
25
|
-
/**
|
|
26
|
-
* Core 다음 액션 결정 (상태 기반)
|
|
27
|
-
*/
|
|
28
|
-
export declare function coreGeminiDecideNextAction(currentState: string, availableActions: string[], goal: string): Promise<string>;
|
|
29
|
-
/**
|
|
30
|
-
* Core UI/UX 분석 (검색 없이 내부 지식으로)
|
|
31
|
-
*/
|
|
32
|
-
export declare function coreGeminiAnalyzeUX(description: string): Promise<string>;
|
|
33
|
-
//# sourceMappingURL=orchestration.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"orchestration.d.ts","sourceRoot":"","sources":["../../../../src/infra/lib/gemini/orchestration.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD;;;;;GAKG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,MAAM,CAAC,CAejB;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAGvE;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAM5F;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAMvF;AAED;;GAEG;AACH,wBAAsB,0BAA0B,CAC9C,YAAY,EAAE,MAAM,EACpB,gBAAgB,EAAE,MAAM,EAAE,EAC1B,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,MAAM,CAAC,CAMjB;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAO9E"}
|