@hoangsonw/forge 0.1.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/LICENSE +21 -0
- package/README.md +919 -0
- package/bin/forge.js +30 -0
- package/dist/agents/architect.d.ts +20 -0
- package/dist/agents/architect.d.ts.map +1 -0
- package/dist/agents/architect.js +75 -0
- package/dist/agents/architect.js.map +1 -0
- package/dist/agents/base.d.ts +20 -0
- package/dist/agents/base.d.ts.map +1 -0
- package/dist/agents/base.js +3 -0
- package/dist/agents/base.js.map +1 -0
- package/dist/agents/debugger.d.ts +16 -0
- package/dist/agents/debugger.d.ts.map +1 -0
- package/dist/agents/debugger.js +93 -0
- package/dist/agents/debugger.js.map +1 -0
- package/dist/agents/executor.d.ts +48 -0
- package/dist/agents/executor.d.ts.map +1 -0
- package/dist/agents/executor.js +402 -0
- package/dist/agents/executor.js.map +1 -0
- package/dist/agents/memory.d.ts +8 -0
- package/dist/agents/memory.d.ts.map +1 -0
- package/dist/agents/memory.js +84 -0
- package/dist/agents/memory.js.map +1 -0
- package/dist/agents/planner.d.ts +5 -0
- package/dist/agents/planner.d.ts.map +1 -0
- package/dist/agents/planner.js +185 -0
- package/dist/agents/planner.js.map +1 -0
- package/dist/agents/registry.d.ts +6 -0
- package/dist/agents/registry.d.ts.map +1 -0
- package/dist/agents/registry.js +32 -0
- package/dist/agents/registry.js.map +1 -0
- package/dist/agents/reviewer.d.ts +18 -0
- package/dist/agents/reviewer.d.ts.map +1 -0
- package/dist/agents/reviewer.js +87 -0
- package/dist/agents/reviewer.js.map +1 -0
- package/dist/classifier/classifier.d.ts +9 -0
- package/dist/classifier/classifier.d.ts.map +1 -0
- package/dist/classifier/classifier.js +83 -0
- package/dist/classifier/classifier.js.map +1 -0
- package/dist/classifier/heuristics.d.ts +11 -0
- package/dist/classifier/heuristics.d.ts.map +1 -0
- package/dist/classifier/heuristics.js +112 -0
- package/dist/classifier/heuristics.js.map +1 -0
- package/dist/cli/animations.d.ts +27 -0
- package/dist/cli/animations.d.ts.map +1 -0
- package/dist/cli/animations.js +186 -0
- package/dist/cli/animations.js.map +1 -0
- package/dist/cli/banners.d.ts +47 -0
- package/dist/cli/banners.d.ts.map +1 -0
- package/dist/cli/banners.js +211 -0
- package/dist/cli/banners.js.map +1 -0
- package/dist/cli/bootstrap.d.ts +2 -0
- package/dist/cli/bootstrap.d.ts.map +1 -0
- package/dist/cli/bootstrap.js +21 -0
- package/dist/cli/bootstrap.js.map +1 -0
- package/dist/cli/commands/bundle.d.ts +3 -0
- package/dist/cli/commands/bundle.d.ts.map +1 -0
- package/dist/cli/commands/bundle.js +80 -0
- package/dist/cli/commands/bundle.js.map +1 -0
- package/dist/cli/commands/changelog.d.ts +3 -0
- package/dist/cli/commands/changelog.d.ts.map +1 -0
- package/dist/cli/commands/changelog.js +60 -0
- package/dist/cli/commands/changelog.js.map +1 -0
- package/dist/cli/commands/config.d.ts +3 -0
- package/dist/cli/commands/config.d.ts.map +1 -0
- package/dist/cli/commands/config.js +91 -0
- package/dist/cli/commands/config.js.map +1 -0
- package/dist/cli/commands/container.d.ts +3 -0
- package/dist/cli/commands/container.d.ts.map +1 -0
- package/dist/cli/commands/container.js +149 -0
- package/dist/cli/commands/container.js.map +1 -0
- package/dist/cli/commands/cost.d.ts +3 -0
- package/dist/cli/commands/cost.d.ts.map +1 -0
- package/dist/cli/commands/cost.js +38 -0
- package/dist/cli/commands/cost.js.map +1 -0
- package/dist/cli/commands/daemon.d.ts +3 -0
- package/dist/cli/commands/daemon.d.ts.map +1 -0
- package/dist/cli/commands/daemon.js +39 -0
- package/dist/cli/commands/daemon.js.map +1 -0
- package/dist/cli/commands/dev.d.ts +3 -0
- package/dist/cli/commands/dev.d.ts.map +1 -0
- package/dist/cli/commands/dev.js +73 -0
- package/dist/cli/commands/dev.js.map +1 -0
- package/dist/cli/commands/doctor.d.ts +3 -0
- package/dist/cli/commands/doctor.d.ts.map +1 -0
- package/dist/cli/commands/doctor.js +214 -0
- package/dist/cli/commands/doctor.js.map +1 -0
- package/dist/cli/commands/init.d.ts +3 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +148 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/mcp.d.ts +3 -0
- package/dist/cli/commands/mcp.d.ts.map +1 -0
- package/dist/cli/commands/mcp.js +227 -0
- package/dist/cli/commands/mcp.js.map +1 -0
- package/dist/cli/commands/memory.d.ts +3 -0
- package/dist/cli/commands/memory.d.ts.map +1 -0
- package/dist/cli/commands/memory.js +101 -0
- package/dist/cli/commands/memory.js.map +1 -0
- package/dist/cli/commands/migrate.d.ts +3 -0
- package/dist/cli/commands/migrate.d.ts.map +1 -0
- package/dist/cli/commands/migrate.js +18 -0
- package/dist/cli/commands/migrate.js.map +1 -0
- package/dist/cli/commands/model.d.ts +3 -0
- package/dist/cli/commands/model.d.ts.map +1 -0
- package/dist/cli/commands/model.js +37 -0
- package/dist/cli/commands/model.js.map +1 -0
- package/dist/cli/commands/permissions.d.ts +3 -0
- package/dist/cli/commands/permissions.d.ts.map +1 -0
- package/dist/cli/commands/permissions.js +32 -0
- package/dist/cli/commands/permissions.js.map +1 -0
- package/dist/cli/commands/resume.d.ts +3 -0
- package/dist/cli/commands/resume.d.ts.map +1 -0
- package/dist/cli/commands/resume.js +90 -0
- package/dist/cli/commands/resume.js.map +1 -0
- package/dist/cli/commands/run.d.ts +5 -0
- package/dist/cli/commands/run.d.ts.map +1 -0
- package/dist/cli/commands/run.js +164 -0
- package/dist/cli/commands/run.js.map +1 -0
- package/dist/cli/commands/session.d.ts +3 -0
- package/dist/cli/commands/session.d.ts.map +1 -0
- package/dist/cli/commands/session.js +94 -0
- package/dist/cli/commands/session.js.map +1 -0
- package/dist/cli/commands/skills.d.ts +4 -0
- package/dist/cli/commands/skills.d.ts.map +1 -0
- package/dist/cli/commands/skills.js +176 -0
- package/dist/cli/commands/skills.js.map +1 -0
- package/dist/cli/commands/spec.d.ts +3 -0
- package/dist/cli/commands/spec.d.ts.map +1 -0
- package/dist/cli/commands/spec.js +58 -0
- package/dist/cli/commands/spec.js.map +1 -0
- package/dist/cli/commands/status.d.ts +3 -0
- package/dist/cli/commands/status.d.ts.map +1 -0
- package/dist/cli/commands/status.js +65 -0
- package/dist/cli/commands/status.js.map +1 -0
- package/dist/cli/commands/task.d.ts +3 -0
- package/dist/cli/commands/task.d.ts.map +1 -0
- package/dist/cli/commands/task.js +42 -0
- package/dist/cli/commands/task.js.map +1 -0
- package/dist/cli/commands/ui.d.ts +3 -0
- package/dist/cli/commands/ui.d.ts.map +1 -0
- package/dist/cli/commands/ui.js +28 -0
- package/dist/cli/commands/ui.js.map +1 -0
- package/dist/cli/commands/update.d.ts +3 -0
- package/dist/cli/commands/update.d.ts.map +1 -0
- package/dist/cli/commands/update.js +53 -0
- package/dist/cli/commands/update.js.map +1 -0
- package/dist/cli/commands/web.d.ts +3 -0
- package/dist/cli/commands/web.d.ts.map +1 -0
- package/dist/cli/commands/web.js +42 -0
- package/dist/cli/commands/web.js.map +1 -0
- package/dist/cli/help.d.ts +21 -0
- package/dist/cli/help.d.ts.map +1 -0
- package/dist/cli/help.js +216 -0
- package/dist/cli/help.js.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +154 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/repl-commands.d.ts +47 -0
- package/dist/cli/repl-commands.d.ts.map +1 -0
- package/dist/cli/repl-commands.js +508 -0
- package/dist/cli/repl-commands.js.map +1 -0
- package/dist/cli/repl-input.d.ts +87 -0
- package/dist/cli/repl-input.d.ts.map +1 -0
- package/dist/cli/repl-input.js +764 -0
- package/dist/cli/repl-input.js.map +1 -0
- package/dist/cli/repl.d.ts +5 -0
- package/dist/cli/repl.d.ts.map +1 -0
- package/dist/cli/repl.js +1046 -0
- package/dist/cli/repl.js.map +1 -0
- package/dist/cli/ui.d.ts +19 -0
- package/dist/cli/ui.d.ts.map +1 -0
- package/dist/cli/ui.js +106 -0
- package/dist/cli/ui.js.map +1 -0
- package/dist/config/loader.d.ts +11 -0
- package/dist/config/loader.d.ts.map +1 -0
- package/dist/config/loader.js +132 -0
- package/dist/config/loader.js.map +1 -0
- package/dist/config/paths.d.ts +35 -0
- package/dist/config/paths.d.ts.map +1 -0
- package/dist/config/paths.js +114 -0
- package/dist/config/paths.js.map +1 -0
- package/dist/config/schema.d.ts +372 -0
- package/dist/config/schema.d.ts.map +1 -0
- package/dist/config/schema.js +161 -0
- package/dist/config/schema.js.map +1 -0
- package/dist/config/xdg.d.ts +2 -0
- package/dist/config/xdg.d.ts.map +1 -0
- package/dist/config/xdg.js +55 -0
- package/dist/config/xdg.js.map +1 -0
- package/dist/core/continuity.d.ts +8 -0
- package/dist/core/continuity.d.ts.map +1 -0
- package/dist/core/continuity.js +36 -0
- package/dist/core/continuity.js.map +1 -0
- package/dist/core/conversation.d.ts +152 -0
- package/dist/core/conversation.d.ts.map +1 -0
- package/dist/core/conversation.js +435 -0
- package/dist/core/conversation.js.map +1 -0
- package/dist/core/estimation.d.ts +19 -0
- package/dist/core/estimation.d.ts.map +1 -0
- package/dist/core/estimation.js +53 -0
- package/dist/core/estimation.js.map +1 -0
- package/dist/core/fork.d.ts +7 -0
- package/dist/core/fork.d.ts.map +1 -0
- package/dist/core/fork.js +93 -0
- package/dist/core/fork.js.map +1 -0
- package/dist/core/interactive-host.d.ts +28 -0
- package/dist/core/interactive-host.d.ts.map +1 -0
- package/dist/core/interactive-host.js +19 -0
- package/dist/core/interactive-host.js.map +1 -0
- package/dist/core/loop-detection.d.ts +25 -0
- package/dist/core/loop-detection.d.ts.map +1 -0
- package/dist/core/loop-detection.js +37 -0
- package/dist/core/loop-detection.js.map +1 -0
- package/dist/core/loop.d.ts +15 -0
- package/dist/core/loop.d.ts.map +1 -0
- package/dist/core/loop.js +417 -0
- package/dist/core/loop.js.map +1 -0
- package/dist/core/mode-policy.d.ts +33 -0
- package/dist/core/mode-policy.d.ts.map +1 -0
- package/dist/core/mode-policy.js +62 -0
- package/dist/core/mode-policy.js.map +1 -0
- package/dist/core/orchestrator.d.ts +14 -0
- package/dist/core/orchestrator.d.ts.map +1 -0
- package/dist/core/orchestrator.js +69 -0
- package/dist/core/orchestrator.js.map +1 -0
- package/dist/core/plan-fixer.d.ts +16 -0
- package/dist/core/plan-fixer.d.ts.map +1 -0
- package/dist/core/plan-fixer.js +55 -0
- package/dist/core/plan-fixer.js.map +1 -0
- package/dist/core/signals.d.ts +5 -0
- package/dist/core/signals.d.ts.map +1 -0
- package/dist/core/signals.js +44 -0
- package/dist/core/signals.js.map +1 -0
- package/dist/core/spec.d.ts +8 -0
- package/dist/core/spec.d.ts.map +1 -0
- package/dist/core/spec.js +75 -0
- package/dist/core/spec.js.map +1 -0
- package/dist/core/validation.d.ts +21 -0
- package/dist/core/validation.d.ts.map +1 -0
- package/dist/core/validation.js +126 -0
- package/dist/core/validation.js.map +1 -0
- package/dist/daemon/control.d.ts +9 -0
- package/dist/daemon/control.d.ts.map +1 -0
- package/dist/daemon/control.js +88 -0
- package/dist/daemon/control.js.map +1 -0
- package/dist/daemon/server.d.ts +8 -0
- package/dist/daemon/server.d.ts.map +1 -0
- package/dist/daemon/server.js +129 -0
- package/dist/daemon/server.js.map +1 -0
- package/dist/daemon/updater.d.ts +21 -0
- package/dist/daemon/updater.d.ts.map +1 -0
- package/dist/daemon/updater.js +159 -0
- package/dist/daemon/updater.js.map +1 -0
- package/dist/keychain/index.d.ts +8 -0
- package/dist/keychain/index.d.ts.map +1 -0
- package/dist/keychain/index.js +243 -0
- package/dist/keychain/index.js.map +1 -0
- package/dist/keychain/windows.d.ts +5 -0
- package/dist/keychain/windows.d.ts.map +1 -0
- package/dist/keychain/windows.js +65 -0
- package/dist/keychain/windows.js.map +1 -0
- package/dist/logging/logger.d.ts +12 -0
- package/dist/logging/logger.d.ts.map +1 -0
- package/dist/logging/logger.js +127 -0
- package/dist/logging/logger.js.map +1 -0
- package/dist/logging/rotation.d.ts +9 -0
- package/dist/logging/rotation.d.ts.map +1 -0
- package/dist/logging/rotation.js +85 -0
- package/dist/logging/rotation.js.map +1 -0
- package/dist/logging/trace.d.ts +7 -0
- package/dist/logging/trace.d.ts.map +1 -0
- package/dist/logging/trace.js +50 -0
- package/dist/logging/trace.js.map +1 -0
- package/dist/mcp/client.d.ts +37 -0
- package/dist/mcp/client.d.ts.map +1 -0
- package/dist/mcp/client.js +111 -0
- package/dist/mcp/client.js.map +1 -0
- package/dist/mcp/http-transport.d.ts +30 -0
- package/dist/mcp/http-transport.d.ts.map +1 -0
- package/dist/mcp/http-transport.js +109 -0
- package/dist/mcp/http-transport.js.map +1 -0
- package/dist/mcp/oauth.d.ts +23 -0
- package/dist/mcp/oauth.d.ts.map +1 -0
- package/dist/mcp/oauth.js +235 -0
- package/dist/mcp/oauth.js.map +1 -0
- package/dist/mcp/registry.d.ts +5 -0
- package/dist/mcp/registry.d.ts.map +1 -0
- package/dist/mcp/registry.js +35 -0
- package/dist/mcp/registry.js.map +1 -0
- package/dist/memory/cold.d.ts +16 -0
- package/dist/memory/cold.d.ts.map +1 -0
- package/dist/memory/cold.js +244 -0
- package/dist/memory/cold.js.map +1 -0
- package/dist/memory/graph.d.ts +19 -0
- package/dist/memory/graph.d.ts.map +1 -0
- package/dist/memory/graph.js +102 -0
- package/dist/memory/graph.js.map +1 -0
- package/dist/memory/hot.d.ts +26 -0
- package/dist/memory/hot.d.ts.map +1 -0
- package/dist/memory/hot.js +58 -0
- package/dist/memory/hot.js.map +1 -0
- package/dist/memory/index.d.ts +7 -0
- package/dist/memory/index.d.ts.map +1 -0
- package/dist/memory/index.js +26 -0
- package/dist/memory/index.js.map +1 -0
- package/dist/memory/learning.d.ts +18 -0
- package/dist/memory/learning.d.ts.map +1 -0
- package/dist/memory/learning.js +83 -0
- package/dist/memory/learning.js.map +1 -0
- package/dist/memory/retrieval.d.ts +21 -0
- package/dist/memory/retrieval.d.ts.map +1 -0
- package/dist/memory/retrieval.js +114 -0
- package/dist/memory/retrieval.js.map +1 -0
- package/dist/memory/warm.d.ts +9 -0
- package/dist/memory/warm.d.ts.map +1 -0
- package/dist/memory/warm.js +150 -0
- package/dist/memory/warm.js.map +1 -0
- package/dist/migrations/runner.d.ts +18 -0
- package/dist/migrations/runner.d.ts.map +1 -0
- package/dist/migrations/runner.js +62 -0
- package/dist/migrations/runner.js.map +1 -0
- package/dist/models/adapter.d.ts +46 -0
- package/dist/models/adapter.d.ts.map +1 -0
- package/dist/models/adapter.js +85 -0
- package/dist/models/adapter.js.map +1 -0
- package/dist/models/anthropic.d.ts +17 -0
- package/dist/models/anthropic.d.ts.map +1 -0
- package/dist/models/anthropic.js +128 -0
- package/dist/models/anthropic.js.map +1 -0
- package/dist/models/cache.d.ts +5 -0
- package/dist/models/cache.d.ts.map +1 -0
- package/dist/models/cache.js +135 -0
- package/dist/models/cache.js.map +1 -0
- package/dist/models/circuit-breaker.d.ts +18 -0
- package/dist/models/circuit-breaker.d.ts.map +1 -0
- package/dist/models/circuit-breaker.js +63 -0
- package/dist/models/circuit-breaker.js.map +1 -0
- package/dist/models/cost.d.ts +13 -0
- package/dist/models/cost.d.ts.map +1 -0
- package/dist/models/cost.js +92 -0
- package/dist/models/cost.js.map +1 -0
- package/dist/models/llamacpp.d.ts +9 -0
- package/dist/models/llamacpp.d.ts.map +1 -0
- package/dist/models/llamacpp.js +15 -0
- package/dist/models/llamacpp.js.map +1 -0
- package/dist/models/lmstudio.d.ts +11 -0
- package/dist/models/lmstudio.d.ts.map +1 -0
- package/dist/models/lmstudio.js +18 -0
- package/dist/models/lmstudio.js.map +1 -0
- package/dist/models/local-catalog.d.ts +45 -0
- package/dist/models/local-catalog.d.ts.map +1 -0
- package/dist/models/local-catalog.js +314 -0
- package/dist/models/local-catalog.js.map +1 -0
- package/dist/models/ollama.d.ts +10 -0
- package/dist/models/ollama.d.ts.map +1 -0
- package/dist/models/ollama.js +98 -0
- package/dist/models/ollama.js.map +1 -0
- package/dist/models/openai.d.ts +16 -0
- package/dist/models/openai.d.ts.map +1 -0
- package/dist/models/openai.js +139 -0
- package/dist/models/openai.js.map +1 -0
- package/dist/models/provider.d.ts +7 -0
- package/dist/models/provider.d.ts.map +1 -0
- package/dist/models/provider.js +39 -0
- package/dist/models/provider.js.map +1 -0
- package/dist/models/rate-limit.d.ts +13 -0
- package/dist/models/rate-limit.d.ts.map +1 -0
- package/dist/models/rate-limit.js +37 -0
- package/dist/models/rate-limit.js.map +1 -0
- package/dist/models/registry.d.ts +2 -0
- package/dist/models/registry.d.ts.map +1 -0
- package/dist/models/registry.js +69 -0
- package/dist/models/registry.js.map +1 -0
- package/dist/models/router.d.ts +26 -0
- package/dist/models/router.d.ts.map +1 -0
- package/dist/models/router.js +185 -0
- package/dist/models/router.js.map +1 -0
- package/dist/models/vllm.d.ts +13 -0
- package/dist/models/vllm.d.ts.map +1 -0
- package/dist/models/vllm.js +19 -0
- package/dist/models/vllm.js.map +1 -0
- package/dist/notifications/manager.d.ts +5 -0
- package/dist/notifications/manager.d.ts.map +1 -0
- package/dist/notifications/manager.js +65 -0
- package/dist/notifications/manager.js.map +1 -0
- package/dist/permissions/manager.d.ts +15 -0
- package/dist/permissions/manager.d.ts.map +1 -0
- package/dist/permissions/manager.js +159 -0
- package/dist/permissions/manager.js.map +1 -0
- package/dist/permissions/risk.d.ts +13 -0
- package/dist/permissions/risk.d.ts.map +1 -0
- package/dist/permissions/risk.js +43 -0
- package/dist/permissions/risk.js.map +1 -0
- package/dist/persistence/compression.d.ts +9 -0
- package/dist/persistence/compression.d.ts.map +1 -0
- package/dist/persistence/compression.js +126 -0
- package/dist/persistence/compression.js.map +1 -0
- package/dist/persistence/conversation-store.d.ts +67 -0
- package/dist/persistence/conversation-store.d.ts.map +1 -0
- package/dist/persistence/conversation-store.js +370 -0
- package/dist/persistence/conversation-store.js.map +1 -0
- package/dist/persistence/events.d.ts +4 -0
- package/dist/persistence/events.d.ts.map +1 -0
- package/dist/persistence/events.js +50 -0
- package/dist/persistence/events.js.map +1 -0
- package/dist/persistence/index-db.d.ts +65 -0
- package/dist/persistence/index-db.d.ts.map +1 -0
- package/dist/persistence/index-db.js +280 -0
- package/dist/persistence/index-db.js.map +1 -0
- package/dist/persistence/jsonl.d.ts +8 -0
- package/dist/persistence/jsonl.d.ts.map +1 -0
- package/dist/persistence/jsonl.js +90 -0
- package/dist/persistence/jsonl.js.map +1 -0
- package/dist/persistence/sessions.d.ts +5 -0
- package/dist/persistence/sessions.d.ts.map +1 -0
- package/dist/persistence/sessions.js +54 -0
- package/dist/persistence/sessions.js.map +1 -0
- package/dist/persistence/tasks.d.ts +7 -0
- package/dist/persistence/tasks.d.ts.map +1 -0
- package/dist/persistence/tasks.js +162 -0
- package/dist/persistence/tasks.js.map +1 -0
- package/dist/prompts/assembler.d.ts +29 -0
- package/dist/prompts/assembler.d.ts.map +1 -0
- package/dist/prompts/assembler.js +136 -0
- package/dist/prompts/assembler.js.map +1 -0
- package/dist/prompts/layers.d.ts +6 -0
- package/dist/prompts/layers.d.ts.map +1 -0
- package/dist/prompts/layers.js +60 -0
- package/dist/prompts/layers.js.map +1 -0
- package/dist/release/download.d.ts +19 -0
- package/dist/release/download.d.ts.map +1 -0
- package/dist/release/download.js +187 -0
- package/dist/release/download.js.map +1 -0
- package/dist/release/verify.d.ts +34 -0
- package/dist/release/verify.d.ts.map +1 -0
- package/dist/release/verify.js +127 -0
- package/dist/release/verify.js.map +1 -0
- package/dist/sandbox/fs.d.ts +10 -0
- package/dist/sandbox/fs.d.ts.map +1 -0
- package/dist/sandbox/fs.js +114 -0
- package/dist/sandbox/fs.js.map +1 -0
- package/dist/sandbox/shell.d.ts +20 -0
- package/dist/sandbox/shell.d.ts.map +1 -0
- package/dist/sandbox/shell.js +131 -0
- package/dist/sandbox/shell.js.map +1 -0
- package/dist/scheduler/dag.d.ts +7 -0
- package/dist/scheduler/dag.d.ts.map +1 -0
- package/dist/scheduler/dag.js +72 -0
- package/dist/scheduler/dag.js.map +1 -0
- package/dist/scheduler/resource-manager.d.ts +25 -0
- package/dist/scheduler/resource-manager.d.ts.map +1 -0
- package/dist/scheduler/resource-manager.js +101 -0
- package/dist/scheduler/resource-manager.js.map +1 -0
- package/dist/security/injection.d.ts +14 -0
- package/dist/security/injection.d.ts.map +1 -0
- package/dist/security/injection.js +46 -0
- package/dist/security/injection.js.map +1 -0
- package/dist/security/redact.d.ts +10 -0
- package/dist/security/redact.d.ts.map +1 -0
- package/dist/security/redact.js +89 -0
- package/dist/security/redact.js.map +1 -0
- package/dist/skills/loader.d.ts +4 -0
- package/dist/skills/loader.d.ts.map +1 -0
- package/dist/skills/loader.js +142 -0
- package/dist/skills/loader.js.map +1 -0
- package/dist/skills/marketplace.d.ts +15 -0
- package/dist/skills/marketplace.d.ts.map +1 -0
- package/dist/skills/marketplace.js +132 -0
- package/dist/skills/marketplace.js.map +1 -0
- package/dist/tools/apply-patch.d.ts +20 -0
- package/dist/tools/apply-patch.d.ts.map +1 -0
- package/dist/tools/apply-patch.js +195 -0
- package/dist/tools/apply-patch.js.map +1 -0
- package/dist/tools/ask-user.d.ts +12 -0
- package/dist/tools/ask-user.d.ts.map +1 -0
- package/dist/tools/ask-user.js +86 -0
- package/dist/tools/ask-user.js.map +1 -0
- package/dist/tools/delete-file.d.ts +10 -0
- package/dist/tools/delete-file.d.ts.map +1 -0
- package/dist/tools/delete-file.js +94 -0
- package/dist/tools/delete-file.js.map +1 -0
- package/dist/tools/edit-file.d.ts +20 -0
- package/dist/tools/edit-file.d.ts.map +1 -0
- package/dist/tools/edit-file.js +128 -0
- package/dist/tools/edit-file.js.map +1 -0
- package/dist/tools/format.d.ts +5 -0
- package/dist/tools/format.d.ts.map +1 -0
- package/dist/tools/format.js +131 -0
- package/dist/tools/format.js.map +1 -0
- package/dist/tools/git.d.ts +24 -0
- package/dist/tools/git.d.ts.map +1 -0
- package/dist/tools/git.js +122 -0
- package/dist/tools/git.js.map +1 -0
- package/dist/tools/glob.d.ts +12 -0
- package/dist/tools/glob.d.ts.map +1 -0
- package/dist/tools/glob.js +55 -0
- package/dist/tools/glob.js.map +1 -0
- package/dist/tools/grep.d.ts +19 -0
- package/dist/tools/grep.d.ts.map +1 -0
- package/dist/tools/grep.js +97 -0
- package/dist/tools/grep.js.map +1 -0
- package/dist/tools/init.d.ts +3 -0
- package/dist/tools/init.d.ts.map +1 -0
- package/dist/tools/init.js +66 -0
- package/dist/tools/init.js.map +1 -0
- package/dist/tools/list-dir.d.ts +16 -0
- package/dist/tools/list-dir.d.ts.map +1 -0
- package/dist/tools/list-dir.js +107 -0
- package/dist/tools/list-dir.js.map +1 -0
- package/dist/tools/move-file.d.ts +13 -0
- package/dist/tools/move-file.d.ts.map +1 -0
- package/dist/tools/move-file.js +100 -0
- package/dist/tools/move-file.js.map +1 -0
- package/dist/tools/read-file.d.ts +14 -0
- package/dist/tools/read-file.d.ts.map +1 -0
- package/dist/tools/read-file.js +99 -0
- package/dist/tools/read-file.js.map +1 -0
- package/dist/tools/registry.d.ts +10 -0
- package/dist/tools/registry.d.ts.map +1 -0
- package/dist/tools/registry.js +30 -0
- package/dist/tools/registry.js.map +1 -0
- package/dist/tools/run-command.d.ts +17 -0
- package/dist/tools/run-command.d.ts.map +1 -0
- package/dist/tools/run-command.js +73 -0
- package/dist/tools/run-command.js.map +1 -0
- package/dist/tools/run-tests.d.ts +16 -0
- package/dist/tools/run-tests.d.ts.map +1 -0
- package/dist/tools/run-tests.js +140 -0
- package/dist/tools/run-tests.js.map +1 -0
- package/dist/tools/web-browse.d.ts +10 -0
- package/dist/tools/web-browse.d.ts.map +1 -0
- package/dist/tools/web-browse.js +45 -0
- package/dist/tools/web-browse.js.map +1 -0
- package/dist/tools/web-fetch.d.ts +11 -0
- package/dist/tools/web-fetch.d.ts.map +1 -0
- package/dist/tools/web-fetch.js +43 -0
- package/dist/tools/web-fetch.js.map +1 -0
- package/dist/tools/web-search.d.ts +12 -0
- package/dist/tools/web-search.d.ts.map +1 -0
- package/dist/tools/web-search.js +52 -0
- package/dist/tools/web-search.js.map +1 -0
- package/dist/tools/write-file.d.ts +13 -0
- package/dist/tools/write-file.d.ts.map +1 -0
- package/dist/tools/write-file.js +100 -0
- package/dist/tools/write-file.js.map +1 -0
- package/dist/types/errors.d.ts +14 -0
- package/dist/types/errors.d.ts.map +1 -0
- package/dist/types/errors.js +55 -0
- package/dist/types/errors.js.map +1 -0
- package/dist/types/index.d.ts +267 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +38 -0
- package/dist/types/index.js.map +1 -0
- package/dist/ui/chat.d.ts +89 -0
- package/dist/ui/chat.d.ts.map +1 -0
- package/dist/ui/chat.js +311 -0
- package/dist/ui/chat.js.map +1 -0
- package/dist/ui/public/app.js +2113 -0
- package/dist/ui/public/index.html +78 -0
- package/dist/ui/public/styles.css +1703 -0
- package/dist/ui/server-errors.d.ts +24 -0
- package/dist/ui/server-errors.d.ts.map +1 -0
- package/dist/ui/server-errors.js +31 -0
- package/dist/ui/server-errors.js.map +1 -0
- package/dist/ui/server.d.ts +10 -0
- package/dist/ui/server.d.ts.map +1 -0
- package/dist/ui/server.js +815 -0
- package/dist/ui/server.js.map +1 -0
- package/dist/ui/task-runner.d.ts +71 -0
- package/dist/ui/task-runner.d.ts.map +1 -0
- package/dist/ui/task-runner.js +334 -0
- package/dist/ui/task-runner.js.map +1 -0
- package/dist/web/browse.d.ts +35 -0
- package/dist/web/browse.d.ts.map +1 -0
- package/dist/web/browse.js +166 -0
- package/dist/web/browse.js.map +1 -0
- package/dist/web/fetch.d.ts +18 -0
- package/dist/web/fetch.d.ts.map +1 -0
- package/dist/web/fetch.js +107 -0
- package/dist/web/fetch.js.map +1 -0
- package/dist/web/sanitize.d.ts +8 -0
- package/dist/web/sanitize.d.ts.map +1 -0
- package/dist/web/sanitize.js +58 -0
- package/dist/web/sanitize.js.map +1 -0
- package/dist/web/search.d.ts +12 -0
- package/dist/web/search.d.ts.map +1 -0
- package/dist/web/search.js +124 -0
- package/dist/web/search.js.map +1 -0
- package/install/install.ps1 +46 -0
- package/install/install.sh +72 -0
- package/package.json +89 -0
- package/scripts/bundle.js +26 -0
- package/scripts/copy-assets.js +33 -0
- package/scripts/link.sh +79 -0
- package/scripts/metrics.sh +33 -0
- package/scripts/postinstall.js +36 -0
package/bin/forge.js
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Forge CLI entry point.
|
|
4
|
+
*
|
|
5
|
+
* This shim locates the compiled CLI and forwards argv.
|
|
6
|
+
* In production (installed via npm), dist/ is shipped.
|
|
7
|
+
* In development, we fall back to ts-node on src/cli/index.ts.
|
|
8
|
+
*/
|
|
9
|
+
'use strict';
|
|
10
|
+
|
|
11
|
+
const path = require('path');
|
|
12
|
+
const fs = require('fs');
|
|
13
|
+
|
|
14
|
+
const projectRoot = path.resolve(__dirname, '..');
|
|
15
|
+
const compiled = path.join(projectRoot, 'dist', 'cli', 'index.js');
|
|
16
|
+
|
|
17
|
+
if (fs.existsSync(compiled)) {
|
|
18
|
+
require(compiled);
|
|
19
|
+
} else {
|
|
20
|
+
// Development fallback
|
|
21
|
+
try {
|
|
22
|
+
require('ts-node/register');
|
|
23
|
+
require(path.join(projectRoot, 'src', 'cli', 'index.ts'));
|
|
24
|
+
} catch (err) {
|
|
25
|
+
console.error('[forge] Compiled output not found and ts-node is unavailable.');
|
|
26
|
+
console.error('[forge] Run `npm run build` or install ts-node.');
|
|
27
|
+
console.error(err && err.message ? err.message : err);
|
|
28
|
+
process.exit(1);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Agent } from './base';
|
|
2
|
+
export interface ArchitectureOutput {
|
|
3
|
+
goal: string;
|
|
4
|
+
approach: string;
|
|
5
|
+
components: Array<{
|
|
6
|
+
name: string;
|
|
7
|
+
responsibility: string;
|
|
8
|
+
interactions: string[];
|
|
9
|
+
}>;
|
|
10
|
+
tradeoffs: Array<{
|
|
11
|
+
option: string;
|
|
12
|
+
pros: string[];
|
|
13
|
+
cons: string[];
|
|
14
|
+
}>;
|
|
15
|
+
recommendation: string;
|
|
16
|
+
risks: string[];
|
|
17
|
+
openQuestions: string[];
|
|
18
|
+
}
|
|
19
|
+
export declare const architectAgent: Agent;
|
|
20
|
+
//# sourceMappingURL=architect.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"architect.d.ts","sourceRoot":"","sources":["../../src/agents/architect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAe,MAAM,QAAQ,CAAC;AA+B5C,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IACpF,SAAS,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IACrE,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB;AAWD,eAAO,MAAM,cAAc,EAAE,KAiC5B,CAAC"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.architectAgent = void 0;
|
|
4
|
+
const router_1 = require("../models/router");
|
|
5
|
+
const assembler_1 = require("../prompts/assembler");
|
|
6
|
+
const loader_1 = require("../config/loader");
|
|
7
|
+
const retrieval_1 = require("../memory/retrieval");
|
|
8
|
+
const logger_1 = require("../logging/logger");
|
|
9
|
+
/**
|
|
10
|
+
* Architect agent — produces a system-level design document (not a plan).
|
|
11
|
+
* Use this explicitly via `--mode architect` when the task is "how should we
|
|
12
|
+
* structure X". No file edits; the output is prose/diagram text the user
|
|
13
|
+
* can decide to feed back in as an approved plan seed.
|
|
14
|
+
*/
|
|
15
|
+
const architectSchema = `You are an Architect. You do NOT modify files — you only produce a design document.
|
|
16
|
+
|
|
17
|
+
Output STRICT JSON:
|
|
18
|
+
{
|
|
19
|
+
"goal": string,
|
|
20
|
+
"approach": string, // 1–3 paragraphs
|
|
21
|
+
"components": [
|
|
22
|
+
{ "name": string, "responsibility": string, "interactions": string[] }
|
|
23
|
+
],
|
|
24
|
+
"tradeoffs": [
|
|
25
|
+
{ "option": string, "pros": string[], "cons": string[] }
|
|
26
|
+
],
|
|
27
|
+
"recommendation": string,
|
|
28
|
+
"risks": string[],
|
|
29
|
+
"openQuestions": string[]
|
|
30
|
+
}`;
|
|
31
|
+
const parse = (content) => {
|
|
32
|
+
const fence = /```(?:json)?\s*([\s\S]+?)\s*```/i.exec(content);
|
|
33
|
+
try {
|
|
34
|
+
return JSON.parse(fence ? fence[1] : content);
|
|
35
|
+
}
|
|
36
|
+
catch {
|
|
37
|
+
return null;
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
exports.architectAgent = {
|
|
41
|
+
name: 'architect',
|
|
42
|
+
description: 'Produces system-level design documents. No file edits.',
|
|
43
|
+
async run(ctx) {
|
|
44
|
+
const retrieved = (0, retrieval_1.retrieve)({
|
|
45
|
+
projectRoot: ctx.projectRoot,
|
|
46
|
+
query: `${ctx.task.title}\n${ctx.task.description ?? ''}`,
|
|
47
|
+
maxColdHits: 12,
|
|
48
|
+
maxWarmFiles: 10,
|
|
49
|
+
});
|
|
50
|
+
const prompt = (0, assembler_1.assembleTaskPrompt)({
|
|
51
|
+
mode: ctx.mode,
|
|
52
|
+
title: `Architect: ${ctx.task.title}`,
|
|
53
|
+
description: ctx.task.description,
|
|
54
|
+
globalInstructions: (0, loader_1.loadGlobalInstructions)(),
|
|
55
|
+
projectInstructions: (0, loader_1.loadProjectInstructions)(ctx.projectRoot),
|
|
56
|
+
contextBlocks: retrieved.blocks,
|
|
57
|
+
additionalUserText: `${architectSchema}\n\nREQUEST:\n${ctx.task.title}\n${ctx.task.description ?? ''}`,
|
|
58
|
+
});
|
|
59
|
+
try {
|
|
60
|
+
const { response } = await (0, router_1.callModel)('architect', ctx.mode, prompt.messages, {
|
|
61
|
+
jsonMode: true,
|
|
62
|
+
temperature: 0.2,
|
|
63
|
+
maxTokens: 3000,
|
|
64
|
+
timeoutMs: 90_000,
|
|
65
|
+
});
|
|
66
|
+
const parsed = parse(response.content);
|
|
67
|
+
return { success: Boolean(parsed), output: parsed ?? { raw: response.content }, prompt };
|
|
68
|
+
}
|
|
69
|
+
catch (err) {
|
|
70
|
+
logger_1.log.warn('architect failed', { err: String(err) });
|
|
71
|
+
return { success: false, message: String(err) };
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
};
|
|
75
|
+
//# sourceMappingURL=architect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"architect.js","sourceRoot":"","sources":["../../src/agents/architect.ts"],"names":[],"mappings":";;;AACA,6CAA6C;AAC7C,oDAA0D;AAC1D,6CAAmF;AACnF,mDAA+C;AAC/C,8CAAwC;AAExC;;;;;GAKG;AAEH,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;EAetB,CAAC;AAYH,MAAM,KAAK,GAAG,CAAC,OAAe,EAA6B,EAAE;IAC3D,MAAM,KAAK,GAAG,kCAAkC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/D,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAuB,CAAC;IACtE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAEW,QAAA,cAAc,GAAU;IACnC,IAAI,EAAE,WAAW;IACjB,WAAW,EAAE,wDAAwD;IACrE,KAAK,CAAC,GAAG,CAAC,GAAG;QACX,MAAM,SAAS,GAAG,IAAA,oBAAQ,EAAC;YACzB,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,KAAK,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,EAAE;YACzD,WAAW,EAAE,EAAE;YACf,YAAY,EAAE,EAAE;SACjB,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,IAAA,8BAAkB,EAAC;YAChC,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,KAAK,EAAE,cAAc,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE;YACrC,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC,WAAW;YACjC,kBAAkB,EAAE,IAAA,+BAAsB,GAAE;YAC5C,mBAAmB,EAAE,IAAA,gCAAuB,EAAC,GAAG,CAAC,WAAW,CAAC;YAC7D,aAAa,EAAE,SAAS,CAAC,MAAM;YAC/B,kBAAkB,EAAE,GAAG,eAAe,iBAAiB,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,EAAE;SACvG,CAAC,CAAC;QACH,IAAI,CAAC;YACH,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAA,kBAAS,EAAC,WAAW,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE;gBAC3E,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,GAAG;gBAChB,SAAS,EAAE,IAAI;gBACf,SAAS,EAAE,MAAM;aAClB,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACvC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,IAAI,EAAE,GAAG,EAAE,QAAQ,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC;QAC3F,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,YAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACnD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QAClD,CAAC;IACH,CAAC;CACF,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Mode, Task } from '../types';
|
|
2
|
+
import { AssembledPrompt } from '../types';
|
|
3
|
+
export interface AgentExecutionContext {
|
|
4
|
+
task: Task;
|
|
5
|
+
projectRoot: string;
|
|
6
|
+
mode: Mode;
|
|
7
|
+
}
|
|
8
|
+
export interface Agent {
|
|
9
|
+
readonly name: string;
|
|
10
|
+
readonly description: string;
|
|
11
|
+
run(ctx: AgentExecutionContext): Promise<AgentResult>;
|
|
12
|
+
}
|
|
13
|
+
export interface AgentResult {
|
|
14
|
+
success: boolean;
|
|
15
|
+
output?: unknown;
|
|
16
|
+
message?: string;
|
|
17
|
+
prompt?: AssembledPrompt;
|
|
18
|
+
filesChanged?: string[];
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=base.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/agents/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,IAAI,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,GAAG,CAAC,GAAG,EAAE,qBAAqB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;CACvD;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/agents/base.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Agent } from './base';
|
|
2
|
+
export interface DebugDiagnosis {
|
|
3
|
+
rootCause: string;
|
|
4
|
+
hypotheses: string[];
|
|
5
|
+
suggestedFix: string;
|
|
6
|
+
confidence: number;
|
|
7
|
+
}
|
|
8
|
+
export interface DebuggerInput {
|
|
9
|
+
failureMessage: string;
|
|
10
|
+
failureContext: string;
|
|
11
|
+
attemptsSoFar: number;
|
|
12
|
+
relevantFiles?: string[];
|
|
13
|
+
}
|
|
14
|
+
export declare const diagnose: (input: DebuggerInput, mode: import("../types").Mode) => Promise<DebugDiagnosis>;
|
|
15
|
+
export declare const debuggerAgent: Agent;
|
|
16
|
+
//# sourceMappingURL=debugger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debugger.d.ts","sourceRoot":"","sources":["../../src/agents/debugger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAe,MAAM,QAAQ,CAAC;AAM5C,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB;AA0BD,MAAM,WAAW,aAAa;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,eAAO,MAAM,QAAQ,GACnB,OAAO,aAAa,EACpB,MAAM,OAAO,UAAU,EAAE,IAAI,KAC5B,OAAO,CAAC,cAAc,CAuDxB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAM3B,CAAC"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.debuggerAgent = exports.diagnose = void 0;
|
|
4
|
+
const router_1 = require("../models/router");
|
|
5
|
+
const assembler_1 = require("../prompts/assembler");
|
|
6
|
+
const logger_1 = require("../logging/logger");
|
|
7
|
+
const index_db_1 = require("../persistence/index-db");
|
|
8
|
+
const debuggerSchema = `You are a debugger agent. Given the failure context, output STRICT JSON:
|
|
9
|
+
{
|
|
10
|
+
"rootCause": string,
|
|
11
|
+
"hypotheses": string[],
|
|
12
|
+
"suggestedFix": string,
|
|
13
|
+
"confidence": number
|
|
14
|
+
}`;
|
|
15
|
+
const parse = (content) => {
|
|
16
|
+
const fence = /```(?:json)?\s*([\s\S]+?)\s*```/i.exec(content);
|
|
17
|
+
try {
|
|
18
|
+
const obj = JSON.parse(fence ? fence[1] : content);
|
|
19
|
+
return {
|
|
20
|
+
rootCause: String(obj.rootCause ?? ''),
|
|
21
|
+
hypotheses: Array.isArray(obj.hypotheses) ? obj.hypotheses.map(String) : [],
|
|
22
|
+
suggestedFix: String(obj.suggestedFix ?? ''),
|
|
23
|
+
confidence: typeof obj.confidence === 'number' ? Math.max(0, Math.min(1, obj.confidence)) : 0.5,
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
catch {
|
|
27
|
+
return null;
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
const diagnose = async (input, mode) => {
|
|
31
|
+
const prompt = (0, assembler_1.assembleTaskPrompt)({
|
|
32
|
+
mode,
|
|
33
|
+
title: 'Diagnose a failure',
|
|
34
|
+
description: input.failureMessage,
|
|
35
|
+
contextBlocks: input.failureContext
|
|
36
|
+
? [{ source: 'failure', content: input.failureContext }]
|
|
37
|
+
: undefined,
|
|
38
|
+
additionalUserText: `${debuggerSchema}
|
|
39
|
+
|
|
40
|
+
Failure:
|
|
41
|
+
${input.failureMessage}
|
|
42
|
+
|
|
43
|
+
Attempts: ${input.attemptsSoFar}
|
|
44
|
+
|
|
45
|
+
Context:
|
|
46
|
+
${input.failureContext}`,
|
|
47
|
+
});
|
|
48
|
+
try {
|
|
49
|
+
const { response } = await (0, router_1.callModel)('debugger', mode, prompt.messages, {
|
|
50
|
+
jsonMode: true,
|
|
51
|
+
temperature: 0.2,
|
|
52
|
+
maxTokens: 900,
|
|
53
|
+
timeoutMs: 60_000,
|
|
54
|
+
});
|
|
55
|
+
const parsed = parse(response.content);
|
|
56
|
+
if (parsed && parsed.rootCause) {
|
|
57
|
+
// Opportunistic learning capture.
|
|
58
|
+
(0, index_db_1.upsertLearning)({
|
|
59
|
+
pattern: parsed.rootCause.slice(0, 200),
|
|
60
|
+
context: (input.relevantFiles ?? []).join(',').slice(0, 200),
|
|
61
|
+
fix: parsed.suggestedFix.slice(0, 400),
|
|
62
|
+
confidence: parsed.confidence,
|
|
63
|
+
success_count: 0,
|
|
64
|
+
failure_count: 1,
|
|
65
|
+
updated_at: new Date().toISOString(),
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
return (parsed ?? {
|
|
69
|
+
rootCause: 'unknown',
|
|
70
|
+
hypotheses: [],
|
|
71
|
+
suggestedFix: 'retry with narrower scope',
|
|
72
|
+
confidence: 0.3,
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
catch (err) {
|
|
76
|
+
logger_1.log.warn('debugger failed', { err: String(err) });
|
|
77
|
+
return {
|
|
78
|
+
rootCause: 'debugger unavailable',
|
|
79
|
+
hypotheses: [String(err)],
|
|
80
|
+
suggestedFix: 'retry with different tool or escalate to user',
|
|
81
|
+
confidence: 0.1,
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
exports.diagnose = diagnose;
|
|
86
|
+
exports.debuggerAgent = {
|
|
87
|
+
name: 'debugger',
|
|
88
|
+
description: 'Performs root-cause analysis on failures.',
|
|
89
|
+
async run() {
|
|
90
|
+
return { success: false, message: 'debugger.run is a delegate; use diagnose()' };
|
|
91
|
+
},
|
|
92
|
+
};
|
|
93
|
+
//# sourceMappingURL=debugger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debugger.js","sourceRoot":"","sources":["../../src/agents/debugger.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { Agent } from './base';
|
|
2
|
+
import { PlanStep, ToolResult } from '../types';
|
|
3
|
+
import { PermissionFlags } from '../permissions/manager';
|
|
4
|
+
export interface ExecutorStepOutput {
|
|
5
|
+
step: PlanStep;
|
|
6
|
+
toolResults: Array<{
|
|
7
|
+
tool: string;
|
|
8
|
+
args: unknown;
|
|
9
|
+
result: ToolResult<unknown>;
|
|
10
|
+
}>;
|
|
11
|
+
summary: string;
|
|
12
|
+
filesChanged: string[];
|
|
13
|
+
/** Number of model turns the executor consumed for this step. */
|
|
14
|
+
turns: number;
|
|
15
|
+
/** True when the model explicitly signalled `done`. */
|
|
16
|
+
completed: boolean;
|
|
17
|
+
}
|
|
18
|
+
export declare const executorAgent: Agent;
|
|
19
|
+
export interface RunStepParams {
|
|
20
|
+
step: PlanStep;
|
|
21
|
+
projectRoot: string;
|
|
22
|
+
taskId: string;
|
|
23
|
+
projectId: string;
|
|
24
|
+
mode: import('../types').Mode;
|
|
25
|
+
flags: PermissionFlags;
|
|
26
|
+
runId?: string;
|
|
27
|
+
/** Optional override for testing. */
|
|
28
|
+
validate?: (projectRoot: string) => Promise<{
|
|
29
|
+
ok: boolean;
|
|
30
|
+
ran: string[];
|
|
31
|
+
message?: string;
|
|
32
|
+
}>;
|
|
33
|
+
}
|
|
34
|
+
export declare const runStep: (params: RunStepParams) => Promise<ExecutorStepOutput>;
|
|
35
|
+
export declare const _parseExecutorOutputForTest: (content: string) => {
|
|
36
|
+
actions: Array<{
|
|
37
|
+
tool: string;
|
|
38
|
+
args: Record<string, unknown>;
|
|
39
|
+
}>;
|
|
40
|
+
summary: string;
|
|
41
|
+
done: boolean;
|
|
42
|
+
};
|
|
43
|
+
export declare const _digestToolResultForTest: (entry: {
|
|
44
|
+
tool: string;
|
|
45
|
+
args: unknown;
|
|
46
|
+
result: ToolResult<unknown>;
|
|
47
|
+
}) => Record<string, unknown>;
|
|
48
|
+
//# sourceMappingURL=executor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../src/agents/executor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAe,MAAM,QAAQ,CAAC;AAC5C,OAAO,EAAgB,QAAQ,EAAe,UAAU,EAAE,MAAM,UAAU,CAAC;AAK3E,OAAO,EAAqB,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAO5E,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,QAAQ,CAAC;IACf,WAAW,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,CAAA;KAAE,CAAC,CAAC;IACjF,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,iEAAiE;IACjE,KAAK,EAAE,MAAM,CAAC;IACd,uDAAuD;IACvD,SAAS,EAAE,OAAO,CAAC;CACpB;AA8FD,eAAO,MAAM,aAAa,EAAE,KAS3B,CAAC;AAEF,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,QAAQ,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,OAAO,UAAU,EAAE,IAAI,CAAC;IAC9B,KAAK,EAAE,eAAe,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qCAAqC;IACrC,QAAQ,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,GAAG,EAAE,MAAM,EAAE,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC/F;AAED,eAAO,MAAM,OAAO,GAAU,QAAQ,aAAa,KAAG,OAAO,CAAC,kBAAkB,CA2R/E,CAAC;AAmDF,eAAO,MAAM,2BAA2B,YAza7B,MAAM,KACd;IACD,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC,CAAC;IAChE,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;CAqa2C,CAAC;AAC5D,eAAO,MAAM,wBAAwB,UA5YJ;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;CAC7B,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAwY8B,CAAC"}
|