@hoangsonw/forge 0.1.1 → 0.1.2-nightly.20260426
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +135 -63
- package/bin/README.md +118 -0
- package/bin/forge.js +2 -0
- package/dist/agents/architect.d.ts +8 -0
- package/dist/agents/architect.d.ts.map +1 -1
- package/dist/agents/architect.js +8 -6
- package/dist/agents/architect.js.map +1 -1
- package/dist/agents/base.d.ts +5 -0
- package/dist/agents/base.d.ts.map +1 -1
- package/dist/agents/base.js +5 -0
- package/dist/agents/base.js.map +1 -1
- package/dist/agents/debugger.d.ts +5 -0
- package/dist/agents/debugger.d.ts.map +1 -1
- package/dist/agents/debugger.js +5 -0
- package/dist/agents/debugger.js.map +1 -1
- package/dist/agents/executor.d.ts +5 -0
- package/dist/agents/executor.d.ts.map +1 -1
- package/dist/agents/executor.js +19 -2
- package/dist/agents/executor.js.map +1 -1
- package/dist/agents/memory.d.ts +3 -1
- package/dist/agents/memory.d.ts.map +1 -1
- package/dist/agents/memory.js +7 -5
- package/dist/agents/memory.js.map +1 -1
- package/dist/agents/narrator.d.ts +70 -0
- package/dist/agents/narrator.d.ts.map +1 -0
- package/dist/agents/narrator.js +186 -0
- package/dist/agents/narrator.js.map +1 -0
- package/dist/agents/planner.d.ts +5 -0
- package/dist/agents/planner.d.ts.map +1 -1
- package/dist/agents/planner.js +24 -2
- package/dist/agents/planner.js.map +1 -1
- package/dist/agents/registry.d.ts +7 -0
- package/dist/agents/registry.d.ts.map +1 -1
- package/dist/agents/registry.js +7 -0
- package/dist/agents/registry.js.map +1 -1
- package/dist/agents/reviewer.d.ts +7 -0
- package/dist/agents/reviewer.d.ts.map +1 -1
- package/dist/agents/reviewer.js +20 -5
- package/dist/agents/reviewer.js.map +1 -1
- package/dist/classifier/classifier.d.ts +5 -0
- package/dist/classifier/classifier.d.ts.map +1 -1
- package/dist/classifier/classifier.js +31 -1
- package/dist/classifier/classifier.js.map +1 -1
- package/dist/classifier/heuristics.d.ts +23 -0
- package/dist/classifier/heuristics.d.ts.map +1 -1
- package/dist/classifier/heuristics.js +58 -2
- package/dist/classifier/heuristics.js.map +1 -1
- package/dist/cli/animations.d.ts +8 -0
- package/dist/cli/animations.d.ts.map +1 -1
- package/dist/cli/animations.js +8 -6
- package/dist/cli/animations.js.map +1 -1
- package/dist/cli/banners.d.ts +8 -2
- package/dist/cli/banners.d.ts.map +1 -1
- package/dist/cli/banners.js +48 -18
- package/dist/cli/banners.js.map +1 -1
- package/dist/cli/bootstrap.d.ts +5 -0
- package/dist/cli/bootstrap.d.ts.map +1 -1
- package/dist/cli/bootstrap.js +5 -0
- package/dist/cli/bootstrap.js.map +1 -1
- package/dist/cli/choose.d.ts +34 -0
- package/dist/cli/choose.d.ts.map +1 -0
- package/dist/cli/choose.js +219 -0
- package/dist/cli/choose.js.map +1 -0
- package/dist/cli/commands/bundle.d.ts +5 -0
- package/dist/cli/commands/bundle.d.ts.map +1 -1
- package/dist/cli/commands/bundle.js +5 -0
- package/dist/cli/commands/bundle.js.map +1 -1
- package/dist/cli/commands/changelog.d.ts +5 -0
- package/dist/cli/commands/changelog.d.ts.map +1 -1
- package/dist/cli/commands/changelog.js +5 -0
- package/dist/cli/commands/changelog.js.map +1 -1
- package/dist/cli/commands/config.d.ts +5 -0
- package/dist/cli/commands/config.d.ts.map +1 -1
- package/dist/cli/commands/config.js +5 -0
- package/dist/cli/commands/config.js.map +1 -1
- package/dist/cli/commands/container.d.ts +5 -0
- package/dist/cli/commands/container.d.ts.map +1 -1
- package/dist/cli/commands/container.js +5 -0
- package/dist/cli/commands/container.js.map +1 -1
- package/dist/cli/commands/cost.d.ts +5 -0
- package/dist/cli/commands/cost.d.ts.map +1 -1
- package/dist/cli/commands/cost.js +5 -0
- package/dist/cli/commands/cost.js.map +1 -1
- package/dist/cli/commands/daemon.d.ts +5 -0
- package/dist/cli/commands/daemon.d.ts.map +1 -1
- package/dist/cli/commands/daemon.js +5 -0
- package/dist/cli/commands/daemon.js.map +1 -1
- package/dist/cli/commands/dev.d.ts +5 -0
- package/dist/cli/commands/dev.d.ts.map +1 -1
- package/dist/cli/commands/dev.js +5 -0
- package/dist/cli/commands/dev.js.map +1 -1
- package/dist/cli/commands/doctor.d.ts +5 -0
- package/dist/cli/commands/doctor.d.ts.map +1 -1
- package/dist/cli/commands/doctor.js +5 -0
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/init.d.ts +5 -0
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +5 -0
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/mcp.d.ts +6 -0
- package/dist/cli/commands/mcp.d.ts.map +1 -1
- package/dist/cli/commands/mcp.js +6 -0
- package/dist/cli/commands/mcp.js.map +1 -1
- package/dist/cli/commands/memory.d.ts +5 -0
- package/dist/cli/commands/memory.d.ts.map +1 -1
- package/dist/cli/commands/memory.js +5 -0
- package/dist/cli/commands/memory.js.map +1 -1
- package/dist/cli/commands/migrate.d.ts +5 -0
- package/dist/cli/commands/migrate.d.ts.map +1 -1
- package/dist/cli/commands/migrate.js +5 -0
- package/dist/cli/commands/migrate.js.map +1 -1
- package/dist/cli/commands/model.d.ts +5 -0
- package/dist/cli/commands/model.d.ts.map +1 -1
- package/dist/cli/commands/model.js +5 -0
- package/dist/cli/commands/model.js.map +1 -1
- package/dist/cli/commands/permissions.d.ts +5 -0
- package/dist/cli/commands/permissions.d.ts.map +1 -1
- package/dist/cli/commands/permissions.js +5 -0
- package/dist/cli/commands/permissions.js.map +1 -1
- package/dist/cli/commands/resume.d.ts +5 -0
- package/dist/cli/commands/resume.d.ts.map +1 -1
- package/dist/cli/commands/resume.js +5 -0
- package/dist/cli/commands/resume.js.map +1 -1
- package/dist/cli/commands/run.d.ts +5 -0
- package/dist/cli/commands/run.d.ts.map +1 -1
- package/dist/cli/commands/run.js +21 -8
- package/dist/cli/commands/run.js.map +1 -1
- package/dist/cli/commands/session.d.ts +8 -0
- package/dist/cli/commands/session.d.ts.map +1 -1
- package/dist/cli/commands/session.js +8 -0
- package/dist/cli/commands/session.js.map +1 -1
- package/dist/cli/commands/skills.d.ts +5 -0
- package/dist/cli/commands/skills.d.ts.map +1 -1
- package/dist/cli/commands/skills.js +5 -0
- package/dist/cli/commands/skills.js.map +1 -1
- package/dist/cli/commands/spec.d.ts +6 -0
- package/dist/cli/commands/spec.d.ts.map +1 -1
- package/dist/cli/commands/spec.js +6 -0
- package/dist/cli/commands/spec.js.map +1 -1
- package/dist/cli/commands/status.d.ts +5 -0
- package/dist/cli/commands/status.d.ts.map +1 -1
- package/dist/cli/commands/status.js +5 -0
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/commands/task.d.ts +8 -0
- package/dist/cli/commands/task.d.ts.map +1 -1
- package/dist/cli/commands/task.js +76 -0
- package/dist/cli/commands/task.js.map +1 -1
- package/dist/cli/commands/ui.d.ts +5 -0
- package/dist/cli/commands/ui.d.ts.map +1 -1
- package/dist/cli/commands/ui.js +5 -0
- package/dist/cli/commands/ui.js.map +1 -1
- package/dist/cli/commands/update.d.ts +5 -0
- package/dist/cli/commands/update.d.ts.map +1 -1
- package/dist/cli/commands/update.js +5 -0
- package/dist/cli/commands/update.js.map +1 -1
- package/dist/cli/commands/web.d.ts +5 -0
- package/dist/cli/commands/web.d.ts.map +1 -1
- package/dist/cli/commands/web.js +5 -0
- package/dist/cli/commands/web.js.map +1 -1
- package/dist/cli/help.d.ts +2 -0
- package/dist/cli/help.d.ts.map +1 -1
- package/dist/cli/help.js +2 -0
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/index.js +14 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/markdown.d.ts.map +1 -1
- package/dist/cli/markdown.js +115 -10
- package/dist/cli/markdown.js.map +1 -1
- package/dist/cli/progress.d.ts +42 -0
- package/dist/cli/progress.d.ts.map +1 -0
- package/dist/cli/progress.js +335 -0
- package/dist/cli/progress.js.map +1 -0
- package/dist/cli/repl-commands.d.ts +2 -0
- package/dist/cli/repl-commands.d.ts.map +1 -1
- package/dist/cli/repl-commands.js +2 -0
- package/dist/cli/repl-commands.js.map +1 -1
- package/dist/cli/repl-input.d.ts +3 -0
- package/dist/cli/repl-input.d.ts.map +1 -1
- package/dist/cli/repl-input.js +87 -39
- package/dist/cli/repl-input.js.map +1 -1
- package/dist/cli/repl.d.ts.map +1 -1
- package/dist/cli/repl.js +109 -29
- package/dist/cli/repl.js.map +1 -1
- package/dist/cli/ui.d.ts +9 -0
- package/dist/cli/ui.d.ts.map +1 -1
- package/dist/cli/ui.js +9 -0
- package/dist/cli/ui.js.map +1 -1
- package/dist/config/loader.d.ts +5 -0
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +5 -0
- package/dist/config/loader.js.map +1 -1
- package/dist/config/paths.d.ts +8 -0
- package/dist/config/paths.d.ts.map +1 -1
- package/dist/config/paths.js +8 -0
- package/dist/config/paths.js.map +1 -1
- package/dist/config/schema.d.ts +17 -0
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +17 -0
- package/dist/config/schema.js.map +1 -1
- package/dist/config/xdg.d.ts.map +1 -1
- package/dist/config/xdg.js +2 -0
- package/dist/config/xdg.js.map +1 -1
- package/dist/core/continuity.d.ts.map +1 -1
- package/dist/core/continuity.js +2 -0
- package/dist/core/continuity.js.map +1 -1
- package/dist/core/conversation.d.ts +2 -0
- package/dist/core/conversation.d.ts.map +1 -1
- package/dist/core/conversation.js +2 -0
- package/dist/core/conversation.js.map +1 -1
- package/dist/core/estimation.d.ts +2 -0
- package/dist/core/estimation.d.ts.map +1 -1
- package/dist/core/estimation.js.map +1 -1
- package/dist/core/fork.d.ts.map +1 -1
- package/dist/core/fork.js +2 -0
- package/dist/core/fork.js.map +1 -1
- package/dist/core/interactive-host.d.ts +11 -2
- package/dist/core/interactive-host.d.ts.map +1 -1
- package/dist/core/interactive-host.js +12 -0
- package/dist/core/interactive-host.js.map +1 -1
- package/dist/core/loop-detection.d.ts +2 -0
- package/dist/core/loop-detection.d.ts.map +1 -1
- package/dist/core/loop-detection.js.map +1 -1
- package/dist/core/loop.d.ts +11 -0
- package/dist/core/loop.d.ts.map +1 -1
- package/dist/core/loop.js +244 -26
- package/dist/core/loop.js.map +1 -1
- package/dist/core/mode-policy.d.ts +2 -0
- package/dist/core/mode-policy.d.ts.map +1 -1
- package/dist/core/mode-policy.js.map +1 -1
- package/dist/core/orchestrator.d.ts +14 -0
- package/dist/core/orchestrator.d.ts.map +1 -1
- package/dist/core/orchestrator.js +79 -1
- package/dist/core/orchestrator.js.map +1 -1
- package/dist/core/plan-fixer.d.ts +3 -1
- package/dist/core/plan-fixer.d.ts.map +1 -1
- package/dist/core/plan-fixer.js +10 -0
- package/dist/core/plan-fixer.js.map +1 -1
- package/dist/core/signals.d.ts.map +1 -1
- package/dist/core/signals.js +2 -0
- package/dist/core/signals.js.map +1 -1
- package/dist/core/spec.d.ts.map +1 -1
- package/dist/core/spec.js +2 -0
- package/dist/core/spec.js.map +1 -1
- package/dist/core/validation.d.ts.map +1 -1
- package/dist/core/validation.js +2 -0
- package/dist/core/validation.js.map +1 -1
- package/dist/daemon/control.d.ts +5 -0
- package/dist/daemon/control.d.ts.map +1 -1
- package/dist/daemon/control.js +5 -0
- package/dist/daemon/control.js.map +1 -1
- package/dist/daemon/server.d.ts +2 -0
- package/dist/daemon/server.d.ts.map +1 -1
- package/dist/daemon/server.js +7 -5
- package/dist/daemon/server.js.map +1 -1
- package/dist/daemon/updater.d.ts +5 -0
- package/dist/daemon/updater.d.ts.map +1 -1
- package/dist/daemon/updater.js +20 -6
- package/dist/daemon/updater.js.map +1 -1
- package/dist/keychain/index.d.ts.map +1 -1
- package/dist/keychain/index.js +2 -0
- package/dist/keychain/index.js.map +1 -1
- package/dist/keychain/windows.d.ts.map +1 -1
- package/dist/keychain/windows.js +2 -0
- package/dist/keychain/windows.js.map +1 -1
- package/dist/logging/logger.d.ts +9 -0
- package/dist/logging/logger.d.ts.map +1 -1
- package/dist/logging/logger.js +9 -5
- package/dist/logging/logger.js.map +1 -1
- package/dist/logging/rotation.d.ts.map +1 -1
- package/dist/logging/rotation.js +2 -0
- package/dist/logging/rotation.js.map +1 -1
- package/dist/logging/trace.d.ts +9 -0
- package/dist/logging/trace.d.ts.map +1 -1
- package/dist/logging/trace.js +9 -0
- package/dist/logging/trace.js.map +1 -1
- package/dist/mcp/client.d.ts +2 -0
- package/dist/mcp/client.d.ts.map +1 -1
- package/dist/mcp/client.js +8 -0
- package/dist/mcp/client.js.map +1 -1
- package/dist/mcp/http-transport.d.ts.map +1 -1
- package/dist/mcp/http-transport.js +2 -0
- package/dist/mcp/http-transport.js.map +1 -1
- package/dist/mcp/oauth.d.ts.map +1 -1
- package/dist/mcp/oauth.js +2 -0
- package/dist/mcp/oauth.js.map +1 -1
- package/dist/mcp/registry.d.ts +6 -0
- package/dist/mcp/registry.d.ts.map +1 -1
- package/dist/mcp/registry.js +6 -0
- package/dist/mcp/registry.js.map +1 -1
- package/dist/memory/cold.d.ts.map +1 -1
- package/dist/memory/cold.js +2 -0
- package/dist/memory/cold.js.map +1 -1
- package/dist/memory/graph.d.ts.map +1 -1
- package/dist/memory/graph.js +2 -0
- package/dist/memory/graph.js.map +1 -1
- package/dist/memory/hot.d.ts +2 -0
- package/dist/memory/hot.d.ts.map +1 -1
- package/dist/memory/hot.js +2 -0
- package/dist/memory/hot.js.map +1 -1
- package/dist/memory/learning.d.ts.map +1 -1
- package/dist/memory/learning.js +2 -0
- package/dist/memory/learning.js.map +1 -1
- package/dist/memory/retrieval.d.ts.map +1 -1
- package/dist/memory/retrieval.js +2 -0
- package/dist/memory/retrieval.js.map +1 -1
- package/dist/memory/warm.d.ts.map +1 -1
- package/dist/memory/warm.js +2 -0
- package/dist/memory/warm.js.map +1 -1
- package/dist/migrations/runner.d.ts +2 -0
- package/dist/migrations/runner.d.ts.map +1 -1
- package/dist/migrations/runner.js +2 -0
- package/dist/migrations/runner.js.map +1 -1
- package/dist/models/adapter.d.ts +2 -0
- package/dist/models/adapter.d.ts.map +1 -1
- package/dist/models/adapter.js +14 -0
- package/dist/models/adapter.js.map +1 -1
- package/dist/models/anthropic.d.ts +11 -1
- package/dist/models/anthropic.d.ts.map +1 -1
- package/dist/models/anthropic.js +128 -5
- package/dist/models/anthropic.js.map +1 -1
- package/dist/models/cache.d.ts +9 -0
- package/dist/models/cache.d.ts.map +1 -1
- package/dist/models/cache.js +9 -7
- package/dist/models/cache.js.map +1 -1
- package/dist/models/circuit-breaker.d.ts +2 -0
- package/dist/models/circuit-breaker.d.ts.map +1 -1
- package/dist/models/circuit-breaker.js +8 -0
- package/dist/models/circuit-breaker.js.map +1 -1
- package/dist/models/cost.d.ts +8 -0
- package/dist/models/cost.d.ts.map +1 -1
- package/dist/models/cost.js +4 -2
- package/dist/models/cost.js.map +1 -1
- package/dist/models/llamacpp.d.ts +3 -1
- package/dist/models/llamacpp.d.ts.map +1 -1
- package/dist/models/llamacpp.js +5 -3
- package/dist/models/llamacpp.js.map +1 -1
- package/dist/models/lmstudio.d.ts +3 -1
- package/dist/models/lmstudio.d.ts.map +1 -1
- package/dist/models/lmstudio.js +5 -3
- package/dist/models/lmstudio.js.map +1 -1
- package/dist/models/local-catalog.d.ts +2 -0
- package/dist/models/local-catalog.d.ts.map +1 -1
- package/dist/models/local-catalog.js.map +1 -1
- package/dist/models/ollama.d.ts +24 -1
- package/dist/models/ollama.d.ts.map +1 -1
- package/dist/models/ollama.js +158 -1
- package/dist/models/ollama.js.map +1 -1
- package/dist/models/openai.d.ts +11 -1
- package/dist/models/openai.d.ts.map +1 -1
- package/dist/models/openai.js +108 -5
- package/dist/models/openai.js.map +1 -1
- package/dist/models/provider.d.ts +5 -0
- package/dist/models/provider.d.ts.map +1 -1
- package/dist/models/provider.js +5 -0
- package/dist/models/provider.js.map +1 -1
- package/dist/models/rate-limit.d.ts +2 -0
- package/dist/models/rate-limit.d.ts.map +1 -1
- package/dist/models/rate-limit.js +7 -0
- package/dist/models/rate-limit.js.map +1 -1
- package/dist/models/registry.d.ts +5 -0
- package/dist/models/registry.d.ts.map +1 -1
- package/dist/models/registry.js +5 -0
- package/dist/models/registry.js.map +1 -1
- package/dist/models/router.d.ts +24 -0
- package/dist/models/router.d.ts.map +1 -1
- package/dist/models/router.js +163 -3
- package/dist/models/router.js.map +1 -1
- package/dist/models/vllm.d.ts +3 -1
- package/dist/models/vllm.d.ts.map +1 -1
- package/dist/models/vllm.js +5 -3
- package/dist/models/vllm.js.map +1 -1
- package/dist/notifications/manager.d.ts +7 -0
- package/dist/notifications/manager.d.ts.map +1 -1
- package/dist/notifications/manager.js +7 -0
- package/dist/notifications/manager.js.map +1 -1
- package/dist/permissions/manager.d.ts +8 -0
- package/dist/permissions/manager.d.ts.map +1 -1
- package/dist/permissions/manager.js +33 -18
- package/dist/permissions/manager.js.map +1 -1
- package/dist/permissions/risk.d.ts +3 -1
- package/dist/permissions/risk.d.ts.map +1 -1
- package/dist/permissions/risk.js +4 -2
- package/dist/permissions/risk.js.map +1 -1
- package/dist/persistence/compression.d.ts +8 -0
- package/dist/persistence/compression.d.ts.map +1 -1
- package/dist/persistence/compression.js +8 -6
- package/dist/persistence/compression.js.map +1 -1
- package/dist/persistence/conversation-store.d.ts +2 -0
- package/dist/persistence/conversation-store.d.ts.map +1 -1
- package/dist/persistence/conversation-store.js +2 -0
- package/dist/persistence/conversation-store.js.map +1 -1
- package/dist/persistence/events.d.ts +35 -0
- package/dist/persistence/events.d.ts.map +1 -1
- package/dist/persistence/events.js +41 -1
- package/dist/persistence/events.js.map +1 -1
- package/dist/persistence/index-db.d.ts +12 -0
- package/dist/persistence/index-db.d.ts.map +1 -1
- package/dist/persistence/index-db.js +20 -1
- package/dist/persistence/index-db.js.map +1 -1
- package/dist/persistence/jsonl.d.ts +2 -0
- package/dist/persistence/jsonl.d.ts.map +1 -1
- package/dist/persistence/jsonl.js +6 -4
- package/dist/persistence/jsonl.js.map +1 -1
- package/dist/persistence/sessions.d.ts +7 -0
- package/dist/persistence/sessions.d.ts.map +1 -1
- package/dist/persistence/sessions.js +7 -0
- package/dist/persistence/sessions.js.map +1 -1
- package/dist/persistence/tasks.d.ts +15 -0
- package/dist/persistence/tasks.d.ts.map +1 -1
- package/dist/persistence/tasks.js +32 -2
- package/dist/persistence/tasks.js.map +1 -1
- package/dist/prompts/assembler.d.ts +6 -0
- package/dist/prompts/assembler.d.ts.map +1 -1
- package/dist/prompts/assembler.js +6 -0
- package/dist/prompts/assembler.js.map +1 -1
- package/dist/prompts/layers.d.ts +5 -0
- package/dist/prompts/layers.d.ts.map +1 -1
- package/dist/prompts/layers.js +5 -0
- package/dist/prompts/layers.js.map +1 -1
- package/dist/release/download.d.ts.map +1 -1
- package/dist/release/download.js +2 -0
- package/dist/release/download.js.map +1 -1
- package/dist/release/verify.d.ts.map +1 -1
- package/dist/release/verify.js +2 -0
- package/dist/release/verify.js.map +1 -1
- package/dist/sandbox/file-lock.d.ts +40 -0
- package/dist/sandbox/file-lock.d.ts.map +1 -0
- package/dist/sandbox/file-lock.js +118 -0
- package/dist/sandbox/file-lock.js.map +1 -0
- package/dist/sandbox/fs.d.ts +5 -0
- package/dist/sandbox/fs.d.ts.map +1 -1
- package/dist/sandbox/fs.js +24 -1
- package/dist/sandbox/fs.js.map +1 -1
- package/dist/sandbox/shell.d.ts +5 -0
- package/dist/sandbox/shell.d.ts.map +1 -1
- package/dist/sandbox/shell.js +5 -0
- package/dist/sandbox/shell.js.map +1 -1
- package/dist/scheduler/dag.d.ts +5 -0
- package/dist/scheduler/dag.d.ts.map +1 -1
- package/dist/scheduler/dag.js +5 -0
- package/dist/scheduler/dag.js.map +1 -1
- package/dist/scheduler/resource-manager.d.ts +2 -0
- package/dist/scheduler/resource-manager.d.ts.map +1 -1
- package/dist/scheduler/resource-manager.js +7 -0
- package/dist/scheduler/resource-manager.js.map +1 -1
- package/dist/security/injection.d.ts +2 -0
- package/dist/security/injection.d.ts.map +1 -1
- package/dist/security/injection.js +2 -0
- package/dist/security/injection.js.map +1 -1
- package/dist/security/redact.d.ts +2 -0
- package/dist/security/redact.d.ts.map +1 -1
- package/dist/security/redact.js +2 -0
- package/dist/security/redact.js.map +1 -1
- package/dist/skills/loader.d.ts +5 -0
- package/dist/skills/loader.d.ts.map +1 -1
- package/dist/skills/loader.js +5 -0
- package/dist/skills/loader.js.map +1 -1
- package/dist/skills/marketplace.d.ts.map +1 -1
- package/dist/skills/marketplace.js +2 -0
- package/dist/skills/marketplace.js.map +1 -1
- package/dist/tools/apply-patch.d.ts +3 -1
- package/dist/tools/apply-patch.d.ts.map +1 -1
- package/dist/tools/apply-patch.js +11 -0
- package/dist/tools/apply-patch.js.map +1 -1
- package/dist/tools/ask-user.d.ts +9 -0
- package/dist/tools/ask-user.d.ts.map +1 -1
- package/dist/tools/ask-user.js +30 -5
- package/dist/tools/ask-user.js.map +1 -1
- package/dist/tools/delete-file.d.ts +5 -0
- package/dist/tools/delete-file.d.ts.map +1 -1
- package/dist/tools/delete-file.js +5 -0
- package/dist/tools/delete-file.js.map +1 -1
- package/dist/tools/edit-file.d.ts +5 -0
- package/dist/tools/edit-file.d.ts.map +1 -1
- package/dist/tools/edit-file.js +61 -34
- package/dist/tools/edit-file.js.map +1 -1
- package/dist/tools/format.d.ts +7 -0
- package/dist/tools/format.d.ts.map +1 -1
- package/dist/tools/format.js +7 -5
- package/dist/tools/format.js.map +1 -1
- package/dist/tools/git.d.ts +7 -0
- package/dist/tools/git.d.ts.map +1 -1
- package/dist/tools/git.js +7 -0
- package/dist/tools/git.js.map +1 -1
- package/dist/tools/glob.d.ts +5 -0
- package/dist/tools/glob.d.ts.map +1 -1
- package/dist/tools/glob.js +5 -0
- package/dist/tools/glob.js.map +1 -1
- package/dist/tools/grep.d.ts +5 -0
- package/dist/tools/grep.d.ts.map +1 -1
- package/dist/tools/grep.js +5 -0
- package/dist/tools/grep.js.map +1 -1
- package/dist/tools/init.d.ts +5 -0
- package/dist/tools/init.d.ts.map +1 -1
- package/dist/tools/init.js +5 -0
- package/dist/tools/init.js.map +1 -1
- package/dist/tools/list-dir.d.ts +5 -0
- package/dist/tools/list-dir.d.ts.map +1 -1
- package/dist/tools/list-dir.js +5 -0
- package/dist/tools/list-dir.js.map +1 -1
- package/dist/tools/move-file.d.ts +5 -0
- package/dist/tools/move-file.d.ts.map +1 -1
- package/dist/tools/move-file.js +9 -2
- package/dist/tools/move-file.js.map +1 -1
- package/dist/tools/read-file.d.ts +5 -0
- package/dist/tools/read-file.d.ts.map +1 -1
- package/dist/tools/read-file.js +5 -0
- package/dist/tools/read-file.js.map +1 -1
- package/dist/tools/registry.d.ts +5 -0
- package/dist/tools/registry.d.ts.map +1 -1
- package/dist/tools/registry.js +5 -0
- package/dist/tools/registry.js.map +1 -1
- package/dist/tools/run-command.d.ts +5 -0
- package/dist/tools/run-command.d.ts.map +1 -1
- package/dist/tools/run-command.js +5 -0
- package/dist/tools/run-command.js.map +1 -1
- package/dist/tools/run-tests.d.ts +6 -1
- package/dist/tools/run-tests.d.ts.map +1 -1
- package/dist/tools/run-tests.js +39 -0
- package/dist/tools/run-tests.js.map +1 -1
- package/dist/tools/web-browse.d.ts +5 -0
- package/dist/tools/web-browse.d.ts.map +1 -1
- package/dist/tools/web-browse.js +5 -0
- package/dist/tools/web-browse.js.map +1 -1
- package/dist/tools/web-fetch.d.ts +5 -0
- package/dist/tools/web-fetch.d.ts.map +1 -1
- package/dist/tools/web-fetch.js +5 -0
- package/dist/tools/web-fetch.js.map +1 -1
- package/dist/tools/web-search.d.ts +5 -0
- package/dist/tools/web-search.d.ts.map +1 -1
- package/dist/tools/web-search.js +5 -0
- package/dist/tools/web-search.js.map +1 -1
- package/dist/tools/write-file.d.ts +5 -0
- package/dist/tools/write-file.d.ts.map +1 -1
- package/dist/tools/write-file.js +43 -24
- package/dist/tools/write-file.js.map +1 -1
- package/dist/types/errors.d.ts +5 -0
- package/dist/types/errors.d.ts.map +1 -1
- package/dist/types/errors.js +5 -0
- package/dist/types/errors.js.map +1 -1
- package/dist/types/index.d.ts +35 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -1
- package/dist/ui/chat.d.ts +2 -0
- package/dist/ui/chat.d.ts.map +1 -1
- package/dist/ui/chat.js +2 -0
- package/dist/ui/chat.js.map +1 -1
- package/dist/ui/public/app.js +701 -51
- package/dist/ui/public/index.html +4 -1
- package/dist/ui/public/markdown.js +108 -13
- package/dist/ui/public/styles.css +232 -4
- package/dist/ui/server-errors.d.ts +3 -1
- package/dist/ui/server-errors.d.ts.map +1 -1
- package/dist/ui/server-errors.js +3 -1
- package/dist/ui/server-errors.js.map +1 -1
- package/dist/ui/server.d.ts.map +1 -1
- package/dist/ui/server.js +62 -2
- package/dist/ui/server.js.map +1 -1
- package/dist/ui/task-runner.d.ts +2 -1
- package/dist/ui/task-runner.d.ts.map +1 -1
- package/dist/ui/task-runner.js +147 -14
- package/dist/ui/task-runner.js.map +1 -1
- package/dist/web/browse.d.ts.map +1 -1
- package/dist/web/browse.js +3 -1
- package/dist/web/browse.js.map +1 -1
- package/dist/web/fetch.d.ts.map +1 -1
- package/dist/web/fetch.js +3 -1
- package/dist/web/fetch.js.map +1 -1
- package/dist/web/sanitize.d.ts.map +1 -1
- package/dist/web/sanitize.js +2 -0
- package/dist/web/sanitize.js.map +1 -1
- package/dist/web/search.d.ts.map +1 -1
- package/dist/web/search.js +2 -0
- package/dist/web/search.js.map +1 -1
- package/install/install.ps1 +1 -1
- package/install/install.sh +2 -2
- package/package.json +5 -5
- package/scripts/bundle.js +2 -0
- package/scripts/copy-assets.js +2 -0
- package/scripts/link.sh +1 -0
- package/scripts/metrics.sh +2 -0
- package/scripts/postinstall.js +2 -0
package/dist/agents/executor.js
CHANGED
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Executor agent — executes a single plan step via iterative tool use. This is the core of the system's ability to carry out complex, multi-step plans that require reasoning and adaptation. The agent receives a step description and a catalog of tools, and can call tools in a loop until it determines the step is complete. The output includes a summary of what was done, the results of each tool call, and any files changed.
|
|
4
|
+
*
|
|
5
|
+
* @author Son Nguyen <hoangson091104@gmail.com>
|
|
6
|
+
*/
|
|
2
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
8
|
exports._digestToolResultForTest = exports._parseExecutorOutputForTest = exports.runStep = exports.executorAgent = void 0;
|
|
4
9
|
const router_1 = require("../models/router");
|
|
@@ -25,9 +30,21 @@ Each turn, output STRICT JSON:
|
|
|
25
30
|
Protocol:
|
|
26
31
|
- Choose tools from the catalog only. Each action's args must match the tool's input schema.
|
|
27
32
|
- You will receive the result of every tool call before your next turn. Read errors carefully.
|
|
28
|
-
- If a tool fails,
|
|
33
|
+
- If a tool fails, EITHER retry with different args OR switch to a different tool OR set "done": true with a summary explaining the blockage. DO NOT call ask_user to recover from tool errors — ask_user is ONLY for when the ORIGINAL user request is genuinely ambiguous.
|
|
29
34
|
- Set "done": true with an empty actions array once the step is satisfied.
|
|
30
|
-
- Never include prose outside JSON. No code fences outside a single JSON object
|
|
35
|
+
- Never include prose outside JSON. No code fences outside a single JSON object.
|
|
36
|
+
|
|
37
|
+
Step-type → tool mapping (the plan step's \`type\` field tells you which tool to use):
|
|
38
|
+
- type="create_file" → ONE call to write_file with the FULL intended file body in \`content\`. Do NOT create the file empty and edit it afterwards. Infer the body from the step description, prior context, and the overall task.
|
|
39
|
+
- type="edit_file" → edit_file with exact oldText/newText snippets. If the target file is empty or does not exist yet, use write_file (or edit_file with oldText="") to write the whole body.
|
|
40
|
+
- type="delete_file" → delete_file.
|
|
41
|
+
- type="apply_patch" → apply_patch with a unified-diff \`patch\`.
|
|
42
|
+
- type="run_command" → run_command with a single shell command. Never use run_command to write file contents — use write_file instead.
|
|
43
|
+
- type="run_tests" → run_tests with no args (framework auto-detects). Only pass framework/target if the auto-detection was wrong.
|
|
44
|
+
- type="analyze" / "retrieve_context" → read_file, grep, list_dir, glob. No mutations.
|
|
45
|
+
- type="review" / "debug" → summarise what you found and set done:true. No mutations unless the step clearly demands them.
|
|
46
|
+
|
|
47
|
+
When writing or editing code, produce the complete, compilable body — do not emit placeholders like "// TODO implement" unless the step explicitly says to scaffold.`;
|
|
31
48
|
const TRUNCATE = 2_000;
|
|
32
49
|
const truncate = (s) => s.length <= TRUNCATE ? s : s.slice(0, TRUNCATE) + `\n…[truncated ${s.length - TRUNCATE}B]`;
|
|
33
50
|
const parseModelOutput = (content) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../src/agents/executor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../src/agents/executor.ts"],"names":[],"mappings":"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"}
|
package/dist/agents/memory.d.ts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
import { Agent } from './base';
|
|
2
1
|
/**
|
|
3
2
|
* Memory agent — maintains the project's context graph. Invoked after
|
|
4
3
|
* planning with a seed file (if any) to populate `imports` edges derived
|
|
5
4
|
* from warm-memory traversal. Deliberately idempotent; safe to re-run.
|
|
5
|
+
*
|
|
6
|
+
* @author Son Nguyen <hoangson091104@gmail.com>
|
|
6
7
|
*/
|
|
8
|
+
import { Agent } from './base';
|
|
7
9
|
export declare const memoryAgent: Agent;
|
|
8
10
|
//# sourceMappingURL=memory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/agents/memory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAe,MAAM,QAAQ,CAAC;AAM5C
|
|
1
|
+
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/agents/memory.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,KAAK,EAAe,MAAM,QAAQ,CAAC;AAM5C,eAAO,MAAM,WAAW,EAAE,KAqCzB,CAAC"}
|
package/dist/agents/memory.js
CHANGED
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Memory agent — maintains the project's context graph. Invoked after
|
|
4
|
+
* planning with a seed file (if any) to populate `imports` edges derived
|
|
5
|
+
* from warm-memory traversal. Deliberately idempotent; safe to re-run.
|
|
6
|
+
*
|
|
7
|
+
* @author Son Nguyen <hoangson091104@gmail.com>
|
|
8
|
+
*/
|
|
2
9
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
10
|
if (k2 === undefined) k2 = k;
|
|
4
11
|
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
@@ -38,11 +45,6 @@ const graph_1 = require("../memory/graph");
|
|
|
38
45
|
const warm_1 = require("../memory/warm");
|
|
39
46
|
const path = __importStar(require("path"));
|
|
40
47
|
const logger_1 = require("../logging/logger");
|
|
41
|
-
/**
|
|
42
|
-
* Memory agent — maintains the project's context graph. Invoked after
|
|
43
|
-
* planning with a seed file (if any) to populate `imports` edges derived
|
|
44
|
-
* from warm-memory traversal. Deliberately idempotent; safe to re-run.
|
|
45
|
-
*/
|
|
46
48
|
exports.memoryAgent = {
|
|
47
49
|
name: 'memory',
|
|
48
50
|
description: 'Maintains the project context graph and long-term memory.',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/agents/memory.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/agents/memory.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGH,2CAAyD;AACzD,yCAAgD;AAChD,2CAA6B;AAC7B,8CAAwC;AAE3B,QAAA,WAAW,GAAU;IAChC,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,2DAA2D;IACxE,KAAK,CAAC,GAAG,CAAC,GAAG;QACX,IAAI,CAAC;YACH,MAAM,IAAI,GACR,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,KAAK,aAAa;gBACvC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,4CAA4C,CAAC,EAAE,CAAC,CAAC,CAAC;gBAChF,CAAC,CAAC,IAAI,CAAC;YACX,MAAM,OAAO,GAAa,EAAE,CAAC;YAC7B,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;gBACzD,MAAM,OAAO,GAAG,IAAA,qBAAc,EAAC,YAAY,EAAE,GAAG,CAAC,WAAW,EAAE;oBAC5D,QAAQ,EAAE,EAAE;oBACZ,QAAQ,EAAE,CAAC;iBACZ,CAAC,CAAC;gBACH,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;oBACxB,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;oBAC9C,IAAA,kBAAU,EAAC,GAAG,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE,QAAQ,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;oBAC7E,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpB,CAAC;gBACD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;gBAC7D,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;oBACjC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;oBAC9C,IAAA,kBAAU,EAAC,GAAG,CAAC,WAAW,EAAE;wBAC1B,GAAG,EAAE,QAAQ,OAAO,EAAE;wBACtB,GAAG,EAAE,QAAQ,GAAG,EAAE;wBAClB,IAAI,EAAE,SAAS;qBAChB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;QACvF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,YAAG,CAAC,KAAK,CAAC,gCAAgC,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAClE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QACjD,CAAC;IACH,CAAC;CACF,CAAC"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Narrator agent — produces the user-facing prose answer for analysis /
|
|
3
|
+
* informational tasks (summarize, explain, describe, audit).
|
|
4
|
+
*
|
|
5
|
+
* Why this exists:
|
|
6
|
+
* The executor runs with `jsonMode: true` because every turn must return a
|
|
7
|
+
* parseable `{actions, summary, done}` object. That JSON contract forces
|
|
8
|
+
* the `summary` field to describe what the agent did this turn
|
|
9
|
+
* ("File has been read successfully"), not the *content* the user asked
|
|
10
|
+
* for. For code-change tasks that's fine — the deliverable is the diff. For
|
|
11
|
+
* informational tasks the diff is empty and the step summaries read as
|
|
12
|
+
* nonsense to the user.
|
|
13
|
+
*
|
|
14
|
+
* The narrator is a single non-JSON call run after the executor completes.
|
|
15
|
+
* It takes the tool outputs the executor gathered (file contents, grep
|
|
16
|
+
* hits, etc.) and asks a capable general-purpose model to actually answer
|
|
17
|
+
* the user's original question. Because it doesn't set `jsonMode`, the
|
|
18
|
+
* streaming path in the router kicks in and the user watches the answer
|
|
19
|
+
* render live via the progress rail.
|
|
20
|
+
*
|
|
21
|
+
* @author Son Nguyen <hoangson091104@gmail.com>
|
|
22
|
+
*/
|
|
23
|
+
import { Mode, ToolResult } from '../types';
|
|
24
|
+
export interface NarratorToolResult {
|
|
25
|
+
tool: string;
|
|
26
|
+
args: unknown;
|
|
27
|
+
result: ToolResult<unknown>;
|
|
28
|
+
}
|
|
29
|
+
export interface NarrateParams {
|
|
30
|
+
taskTitle: string;
|
|
31
|
+
taskDescription: string;
|
|
32
|
+
toolResults: NarratorToolResult[];
|
|
33
|
+
mode: Mode;
|
|
34
|
+
taskId?: string;
|
|
35
|
+
projectId?: string;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Ask the model to write the user-facing answer. Streams by virtue of not
|
|
39
|
+
* setting jsonMode; the router emits deltas via the event bus which the
|
|
40
|
+
* progress rail renders live.
|
|
41
|
+
*/
|
|
42
|
+
export declare const narrateAnalysis: (params: NarrateParams) => Promise<string>;
|
|
43
|
+
export interface ConversationParams {
|
|
44
|
+
input: string;
|
|
45
|
+
mode: Mode;
|
|
46
|
+
taskId?: string;
|
|
47
|
+
projectId?: string;
|
|
48
|
+
/**
|
|
49
|
+
* Composed prior-turns context (from composeDescription in the REPL path).
|
|
50
|
+
* Pre-formatted as markdown with `## Current request` / `## Conversation
|
|
51
|
+
* so far` sections. Passed verbatim to the model so follow-ups like
|
|
52
|
+
* "what have we talked about?" can actually recall.
|
|
53
|
+
*/
|
|
54
|
+
description?: string;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Answer a pure conversational question with no tool access. Used by the
|
|
58
|
+
* orchestrator's conversation fast-path — same streaming contract as
|
|
59
|
+
* `narrateAnalysis` (no jsonMode → router emits deltas → progress rail
|
|
60
|
+
* renders live) but without a GATHERED CONTEXT block, since the whole
|
|
61
|
+
* point is that no tools need to run.
|
|
62
|
+
*
|
|
63
|
+
* Multi-turn history: when `description` is supplied (REPL / UI wrap the
|
|
64
|
+
* new user message with prior turns via composeDescription), we hand the
|
|
65
|
+
* whole thing to the model under an explicit "CONVERSATION HISTORY" block
|
|
66
|
+
* so follow-up questions ("what have we talked about?") resolve against
|
|
67
|
+
* the actual prior turns instead of the model hallucinating.
|
|
68
|
+
*/
|
|
69
|
+
export declare const respondConversation: (params: ConversationParams) => Promise<string>;
|
|
70
|
+
//# sourceMappingURL=narrator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"narrator.d.ts","sourceRoot":"","sources":["../../src/agents/narrator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAK5C,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;CAC7B;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,kBAAkB,EAAE,CAAC;IAClC,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA+CD;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAAU,QAAQ,aAAa,KAAG,OAAO,CAAC,MAAM,CAyD3E,CAAC;AAEF,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,mBAAmB,GAAU,QAAQ,kBAAkB,KAAG,OAAO,CAAC,MAAM,CA6CpF,CAAC"}
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Narrator agent — produces the user-facing prose answer for analysis /
|
|
4
|
+
* informational tasks (summarize, explain, describe, audit).
|
|
5
|
+
*
|
|
6
|
+
* Why this exists:
|
|
7
|
+
* The executor runs with `jsonMode: true` because every turn must return a
|
|
8
|
+
* parseable `{actions, summary, done}` object. That JSON contract forces
|
|
9
|
+
* the `summary` field to describe what the agent did this turn
|
|
10
|
+
* ("File has been read successfully"), not the *content* the user asked
|
|
11
|
+
* for. For code-change tasks that's fine — the deliverable is the diff. For
|
|
12
|
+
* informational tasks the diff is empty and the step summaries read as
|
|
13
|
+
* nonsense to the user.
|
|
14
|
+
*
|
|
15
|
+
* The narrator is a single non-JSON call run after the executor completes.
|
|
16
|
+
* It takes the tool outputs the executor gathered (file contents, grep
|
|
17
|
+
* hits, etc.) and asks a capable general-purpose model to actually answer
|
|
18
|
+
* the user's original question. Because it doesn't set `jsonMode`, the
|
|
19
|
+
* streaming path in the router kicks in and the user watches the answer
|
|
20
|
+
* render live via the progress rail.
|
|
21
|
+
*
|
|
22
|
+
* @author Son Nguyen <hoangson091104@gmail.com>
|
|
23
|
+
*/
|
|
24
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
+
exports.respondConversation = exports.narrateAnalysis = void 0;
|
|
26
|
+
const router_1 = require("../models/router");
|
|
27
|
+
const assembler_1 = require("../prompts/assembler");
|
|
28
|
+
const logger_1 = require("../logging/logger");
|
|
29
|
+
/** Per-tool-result size cap so a giant file doesn't blow the context window. */
|
|
30
|
+
const PER_RESULT_MAX = 18_000;
|
|
31
|
+
/** Aggregate cap across all results. */
|
|
32
|
+
const TOTAL_CONTEXT_MAX = 60_000;
|
|
33
|
+
const truncate = (s, max) => s.length > max ? s.slice(0, max) + `\n…[truncated ${s.length - max} chars]` : s;
|
|
34
|
+
/**
|
|
35
|
+
* Best-effort extraction of "human-readable content" from a tool result.
|
|
36
|
+
* Tools that produce file contents or search hits are the common case; for
|
|
37
|
+
* everything else we fall back to a JSON dump so the model still has signal.
|
|
38
|
+
*/
|
|
39
|
+
const extractContent = (tr) => {
|
|
40
|
+
if (!tr.result.success) {
|
|
41
|
+
const msg = tr.result.error?.message ?? 'tool failed';
|
|
42
|
+
return `[error] ${msg}`;
|
|
43
|
+
}
|
|
44
|
+
const out = tr.result.output;
|
|
45
|
+
if (out == null)
|
|
46
|
+
return '';
|
|
47
|
+
if (typeof out === 'string')
|
|
48
|
+
return out;
|
|
49
|
+
if (typeof out === 'object') {
|
|
50
|
+
const rec = out;
|
|
51
|
+
// Canonical content-bearing shapes used across Forge's tools.
|
|
52
|
+
if (typeof rec.content === 'string')
|
|
53
|
+
return String(rec.content);
|
|
54
|
+
if (Array.isArray(rec.matches)) {
|
|
55
|
+
return rec.matches.map((m) => (typeof m === 'string' ? m : JSON.stringify(m))).join('\n');
|
|
56
|
+
}
|
|
57
|
+
if (typeof rec.text === 'string')
|
|
58
|
+
return String(rec.text);
|
|
59
|
+
if (typeof rec.body === 'string')
|
|
60
|
+
return String(rec.body);
|
|
61
|
+
try {
|
|
62
|
+
return JSON.stringify(out, null, 2);
|
|
63
|
+
}
|
|
64
|
+
catch {
|
|
65
|
+
return String(out);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
return String(out);
|
|
69
|
+
};
|
|
70
|
+
const toolLabel = (tr) => {
|
|
71
|
+
const args = tr.args;
|
|
72
|
+
const target = (args && (args.path || args.file || args.pattern || args.url || args.query)) ?? '';
|
|
73
|
+
return target ? `${tr.tool} · ${String(target).slice(0, 120)}` : tr.tool;
|
|
74
|
+
};
|
|
75
|
+
/**
|
|
76
|
+
* Ask the model to write the user-facing answer. Streams by virtue of not
|
|
77
|
+
* setting jsonMode; the router emits deltas via the event bus which the
|
|
78
|
+
* progress rail renders live.
|
|
79
|
+
*/
|
|
80
|
+
const narrateAnalysis = async (params) => {
|
|
81
|
+
const blocks = [];
|
|
82
|
+
let total = 0;
|
|
83
|
+
for (const tr of params.toolResults) {
|
|
84
|
+
const content = extractContent(tr);
|
|
85
|
+
if (!content)
|
|
86
|
+
continue;
|
|
87
|
+
const capped = truncate(content, PER_RESULT_MAX);
|
|
88
|
+
const fenced = `### ${toolLabel(tr)}\n\n${capped}`;
|
|
89
|
+
if (total + fenced.length > TOTAL_CONTEXT_MAX)
|
|
90
|
+
break;
|
|
91
|
+
blocks.push(fenced);
|
|
92
|
+
total += fenced.length;
|
|
93
|
+
}
|
|
94
|
+
const context = blocks.join('\n\n---\n\n') || '(no tool output was gathered)';
|
|
95
|
+
const prompt = (0, assembler_1.assembleTaskPrompt)({
|
|
96
|
+
mode: params.mode,
|
|
97
|
+
title: params.taskTitle,
|
|
98
|
+
description: params.taskDescription,
|
|
99
|
+
additionalUserText: `You are answering an informational / analysis task. The executor has already gathered the relevant context below via tools. Your job now is to write the answer the user asked for — directly, concretely, in well-formatted Markdown.
|
|
100
|
+
|
|
101
|
+
Rules:
|
|
102
|
+
- Write the answer. Do NOT narrate what you're about to do.
|
|
103
|
+
- Do NOT wrap the answer in JSON or code fences (unless you're quoting code).
|
|
104
|
+
- Prefer short paragraphs, bullet points for lists of things, and inline \`code\` for identifiers.
|
|
105
|
+
- If the task is to summarize, produce a summary — don't just say "the file was read".
|
|
106
|
+
|
|
107
|
+
USER TASK:
|
|
108
|
+
${params.taskDescription || params.taskTitle}
|
|
109
|
+
|
|
110
|
+
GATHERED CONTEXT:
|
|
111
|
+
${context}
|
|
112
|
+
|
|
113
|
+
Now write the answer.`,
|
|
114
|
+
});
|
|
115
|
+
try {
|
|
116
|
+
// No jsonMode → router will invoke stream() on the provider and emit
|
|
117
|
+
// per-token deltas over the event bus. CLI/REPL/UI already render those
|
|
118
|
+
// live. The accumulated text is returned as `response.content`.
|
|
119
|
+
const { response } = await (0, router_1.callModel)('planner', params.mode, prompt.messages, {
|
|
120
|
+
temperature: 0.3,
|
|
121
|
+
maxTokens: 2_000,
|
|
122
|
+
timeoutMs: 180_000,
|
|
123
|
+
}, { taskId: params.taskId, projectId: params.projectId, role: 'planner' });
|
|
124
|
+
return response.content.trim();
|
|
125
|
+
}
|
|
126
|
+
catch (err) {
|
|
127
|
+
logger_1.log.warn('narrator failed', { err: String(err) });
|
|
128
|
+
// Fall back to a minimal note so the caller still has something usable;
|
|
129
|
+
// loop.ts keeps the step summaries as backup content.
|
|
130
|
+
return '';
|
|
131
|
+
}
|
|
132
|
+
};
|
|
133
|
+
exports.narrateAnalysis = narrateAnalysis;
|
|
134
|
+
/**
|
|
135
|
+
* Answer a pure conversational question with no tool access. Used by the
|
|
136
|
+
* orchestrator's conversation fast-path — same streaming contract as
|
|
137
|
+
* `narrateAnalysis` (no jsonMode → router emits deltas → progress rail
|
|
138
|
+
* renders live) but without a GATHERED CONTEXT block, since the whole
|
|
139
|
+
* point is that no tools need to run.
|
|
140
|
+
*
|
|
141
|
+
* Multi-turn history: when `description` is supplied (REPL / UI wrap the
|
|
142
|
+
* new user message with prior turns via composeDescription), we hand the
|
|
143
|
+
* whole thing to the model under an explicit "CONVERSATION HISTORY" block
|
|
144
|
+
* so follow-up questions ("what have we talked about?") resolve against
|
|
145
|
+
* the actual prior turns instead of the model hallucinating.
|
|
146
|
+
*/
|
|
147
|
+
const respondConversation = async (params) => {
|
|
148
|
+
// If we got a composed description (multi-turn context), use it as the
|
|
149
|
+
// primary payload. Otherwise the raw input is enough.
|
|
150
|
+
const desc = params.description;
|
|
151
|
+
const hasHistory = typeof desc === 'string' &&
|
|
152
|
+
desc.length > params.input.length &&
|
|
153
|
+
desc.includes('Conversation so far');
|
|
154
|
+
const payload = hasHistory && desc ? desc : params.input;
|
|
155
|
+
const prompt = (0, assembler_1.assembleTaskPrompt)({
|
|
156
|
+
mode: params.mode,
|
|
157
|
+
title: 'Conversation',
|
|
158
|
+
description: params.input,
|
|
159
|
+
additionalUserText: `You are a helpful software-engineering assistant answering a general conversational question. The user is NOT asking about a specific codebase — answer from general knowledge.
|
|
160
|
+
|
|
161
|
+
Rules:
|
|
162
|
+
- Answer directly. Do NOT narrate what you're about to do.
|
|
163
|
+
- Do NOT wrap the answer in JSON.
|
|
164
|
+
- Use concise Markdown: short paragraphs, inline \`code\` for identifiers, fenced \`\`\` blocks only for code samples.
|
|
165
|
+
- If the question is ambiguous, pick the most common interpretation and answer.
|
|
166
|
+
${hasHistory ? '- Use the CONVERSATION HISTORY below as ground truth when answering follow-ups. If the user asks "what have we talked about?" or similar, summarize ONLY the actual prior turns listed — do NOT invent topics that were not discussed.' : ''}
|
|
167
|
+
|
|
168
|
+
${hasHistory ? 'CONVERSATION HISTORY & CURRENT REQUEST:\n' : 'QUESTION:\n'}${payload}
|
|
169
|
+
|
|
170
|
+
Now write the answer.`,
|
|
171
|
+
});
|
|
172
|
+
try {
|
|
173
|
+
const { response } = await (0, router_1.callModel)('planner', params.mode, prompt.messages, {
|
|
174
|
+
temperature: 0.4,
|
|
175
|
+
maxTokens: 1_500,
|
|
176
|
+
timeoutMs: 120_000,
|
|
177
|
+
}, { taskId: params.taskId, projectId: params.projectId, role: 'planner' });
|
|
178
|
+
return response.content.trim();
|
|
179
|
+
}
|
|
180
|
+
catch (err) {
|
|
181
|
+
logger_1.log.warn('conversation responder failed', { err: String(err) });
|
|
182
|
+
throw err;
|
|
183
|
+
}
|
|
184
|
+
};
|
|
185
|
+
exports.respondConversation = respondConversation;
|
|
186
|
+
//# sourceMappingURL=narrator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"narrator.js","sourceRoot":"","sources":["../../src/agents/narrator.ts"],"names":[],"mappings":"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"}
|
package/dist/agents/planner.d.ts
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Planner agent — converts user intent into a structured plan of action steps. This is the first step in the pipeline after receiving a task. The output is a Plan object that includes a goal and a list of steps, which can be of various types (e.g., analyze, edit_file, run_tests). The planner should produce a minimal plan that prioritizes reading and verification before writing, and it should reference concrete file paths when possible. If the planner fails to produce a valid plan, a fallback plan with generic steps will be used instead.
|
|
3
|
+
*
|
|
4
|
+
* @author Son Nguyen <hoangson091104@gmail.com>
|
|
5
|
+
*/
|
|
1
6
|
import { Task, Mode } from '../types';
|
|
2
7
|
import { Agent } from './base';
|
|
3
8
|
export declare const buildPlannerPrompt: (task: Task, projectRoot: string, mode: Mode) => import("../types").AssembledPrompt;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"planner.d.ts","sourceRoot":"","sources":["../../src/agents/planner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,IAAI,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,EAAE,KAAK,EAAe,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"planner.d.ts","sourceRoot":"","sources":["../../src/agents/planner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAkB,IAAI,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,EAAE,KAAK,EAAe,MAAM,QAAQ,CAAC;AA2I5C,eAAO,MAAM,kBAAkB,GAAI,MAAM,IAAI,EAAE,aAAa,MAAM,EAAE,MAAM,IAAI,uCAuB7E,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAoC1B,CAAC"}
|
package/dist/agents/planner.js
CHANGED
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Planner agent — converts user intent into a structured plan of action steps. This is the first step in the pipeline after receiving a task. The output is a Plan object that includes a goal and a list of steps, which can be of various types (e.g., analyze, edit_file, run_tests). The planner should produce a minimal plan that prioritizes reading and verification before writing, and it should reference concrete file paths when possible. If the planner fails to produce a valid plan, a fallback plan with generic steps will be used instead.
|
|
4
|
+
*
|
|
5
|
+
* @author Son Nguyen <hoangson091104@gmail.com>
|
|
6
|
+
*/
|
|
2
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
8
|
exports.plannerAgent = exports.buildPlannerPrompt = void 0;
|
|
4
9
|
const router_1 = require("../models/router");
|
|
@@ -35,7 +40,19 @@ Rules:
|
|
|
35
40
|
- Keep the plan minimal — no busywork steps.
|
|
36
41
|
- Prefer reading before writing. Always include verification (tests or review) before completion.
|
|
37
42
|
- If user approval may be needed for a destructive step, mark risk accordingly.
|
|
38
|
-
- Reference concrete file paths where known. If
|
|
43
|
+
- Reference concrete file paths where known ONLY IF you have been shown them in the task description or context. NEVER invent file paths. If you're unsure, include a retrieve_context step first; do not guess.
|
|
44
|
+
- When creating a new file with content, emit ONE step of type create_file with the full body (do not split into "create empty" + "edit to fill" — edit_file cannot target an empty file).
|
|
45
|
+
- Prefer edit_file for surgical modifications of existing content (pass a unique oldText snippet); use write_file only when rewriting the entire body.
|
|
46
|
+
|
|
47
|
+
INTENT-SPECIFIC RULES:
|
|
48
|
+
- When INTENT=analysis (summarize / explain / describe / audit / review):
|
|
49
|
+
* DO NOT emit edit_file, create_file, write_file, delete_file, apply_patch, run_command, or run_tests. These are mutations; analysis is read-only.
|
|
50
|
+
* The deliverable is the spoken answer, NOT a diff. A post-step narrator synthesises the user-facing summary from whatever context you gathered.
|
|
51
|
+
* A good analysis plan is ONE step: retrieve_context (or read_file) targeting the exact file(s) the user named. Stop there. That's it.
|
|
52
|
+
* Do NOT emit an "analyze" step after retrieve_context — it's redundant and the executor has nothing new to call.
|
|
53
|
+
- When INTENT=bugfix / feature / refactor / optimization / test / setup:
|
|
54
|
+
* Normal mutation rules apply.
|
|
55
|
+
- Never write a file the user did not ask you to touch. "Summarize X" does NOT grant permission to edit X.`;
|
|
39
56
|
const buildFallbackPlan = (task) => {
|
|
40
57
|
const steps = [
|
|
41
58
|
{
|
|
@@ -132,6 +149,11 @@ const buildPlannerPrompt = (task, projectRoot, mode) => {
|
|
|
132
149
|
});
|
|
133
150
|
const patternBlock = learnedPatternBlock(task);
|
|
134
151
|
const contextBlocks = patternBlock ? [...retrieved.blocks, patternBlock] : retrieved.blocks;
|
|
152
|
+
// Surfacing intent directly in the user prompt: without this the planner
|
|
153
|
+
// would read "summarize src/core/loop.ts" and sometimes plan an edit_file
|
|
154
|
+
// step that appends a summary COMMENT to the source — which nobody asked
|
|
155
|
+
// for and modifies code for a read-only task.
|
|
156
|
+
const intent = task.profile?.intent ?? 'other';
|
|
135
157
|
return (0, assembler_1.assembleTaskPrompt)({
|
|
136
158
|
mode,
|
|
137
159
|
title: task.title,
|
|
@@ -140,7 +162,7 @@ const buildPlannerPrompt = (task, projectRoot, mode) => {
|
|
|
140
162
|
projectInstructions: (0, loader_1.loadProjectInstructions)(projectRoot),
|
|
141
163
|
contextBlocks,
|
|
142
164
|
tools: (0, registry_1.allTools)(),
|
|
143
|
-
additionalUserText: `${planSchemaPrompt}\n\nTASK:\n${task.title}\n${task.description ?? ''}`,
|
|
165
|
+
additionalUserText: `${planSchemaPrompt}\n\nINTENT: ${intent}\n\nTASK:\n${task.title}\n${task.description ?? ''}`,
|
|
144
166
|
});
|
|
145
167
|
};
|
|
146
168
|
exports.buildPlannerPrompt = buildPlannerPrompt;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"planner.js","sourceRoot":"","sources":["../../src/agents/planner.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"planner.js","sourceRoot":"","sources":["../../src/agents/planner.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent registry — a simple in-memory registry for available agents. Provides
|
|
3
|
+
* functions to register, retrieve, and list agents. Also includes an
|
|
4
|
+
* initialization function to register built-in agents.
|
|
5
|
+
*
|
|
6
|
+
* @author Son Nguyen <hoangson091104@gmail.com>
|
|
7
|
+
*/
|
|
1
8
|
import { Agent } from './base';
|
|
2
9
|
export declare const registerAgent: (agent: Agent) => void;
|
|
3
10
|
export declare const getAgent: (name: string) => Agent | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/agents/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAU/B,eAAO,MAAM,aAAa,GAAI,OAAO,KAAK,KAAG,IAE5C,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,MAAM,MAAM,KAAG,KAAK,GAAG,SAA6B,CAAC;AAE9E,eAAO,MAAM,UAAU,QAAO,KAAK,EAA0B,CAAC;AAG9D,eAAO,MAAM,UAAU,QAAO,IAS7B,CAAC"}
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/agents/registry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAU/B,eAAO,MAAM,aAAa,GAAI,OAAO,KAAK,KAAG,IAE5C,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,MAAM,MAAM,KAAG,KAAK,GAAG,SAA6B,CAAC;AAE9E,eAAO,MAAM,UAAU,QAAO,KAAK,EAA0B,CAAC;AAG9D,eAAO,MAAM,UAAU,QAAO,IAS7B,CAAC"}
|
package/dist/agents/registry.js
CHANGED
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Agent registry — a simple in-memory registry for available agents. Provides
|
|
4
|
+
* functions to register, retrieve, and list agents. Also includes an
|
|
5
|
+
* initialization function to register built-in agents.
|
|
6
|
+
*
|
|
7
|
+
* @author Son Nguyen <hoangson091104@gmail.com>
|
|
8
|
+
*/
|
|
2
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
10
|
exports.initAgents = exports.listAgents = exports.getAgent = exports.registerAgent = void 0;
|
|
4
11
|
const planner_1 = require("./planner");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/agents/registry.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/agents/registry.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAGH,uCAAyC;AACzC,yCAA2C;AAC3C,yCAA2C;AAC3C,yCAA2C;AAC3C,2CAA6C;AAC7C,qCAAuC;AAEvC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAiB,CAAC;AAEjC,MAAM,aAAa,GAAG,CAAC,KAAY,EAAQ,EAAE;IAClD,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAChC,CAAC,CAAC;AAFW,QAAA,aAAa,iBAExB;AAEK,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAqB,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAAjE,QAAA,QAAQ,YAAyD;AAEvE,MAAM,UAAU,GAAG,GAAY,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;AAAjD,QAAA,UAAU,cAAuC;AAE9D,IAAI,WAAW,GAAG,KAAK,CAAC;AACjB,MAAM,UAAU,GAAG,GAAS,EAAE;IACnC,IAAI,WAAW;QAAE,OAAO;IACxB,IAAA,qBAAa,EAAC,sBAAY,CAAC,CAAC;IAC5B,IAAA,qBAAa,EAAC,wBAAa,CAAC,CAAC;IAC7B,IAAA,qBAAa,EAAC,wBAAa,CAAC,CAAC;IAC7B,IAAA,qBAAa,EAAC,wBAAa,CAAC,CAAC;IAC7B,IAAA,qBAAa,EAAC,0BAAc,CAAC,CAAC;IAC9B,IAAA,qBAAa,EAAC,oBAAW,CAAC,CAAC;IAC3B,WAAW,GAAG,IAAI,CAAC;AACrB,CAAC,CAAC;AATW,QAAA,UAAU,cASrB"}
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Review agent — validates the outcome of an executed task against the original requirements. This is used after running a task to determine if the changes meet the acceptance criteria. The output includes an approval status, a list of issues (if any), and a summary of the review. The agent should be cautious in approving changes, especially if there are test failures or potential security issues.
|
|
3
|
+
*
|
|
4
|
+
* @author Son Nguyen <hoangson091104@gmail.com>
|
|
5
|
+
*/
|
|
1
6
|
import { Agent } from './base';
|
|
2
7
|
export interface ReviewVerdict {
|
|
3
8
|
approved: boolean;
|
|
@@ -12,6 +17,8 @@ export interface ReviewerInput {
|
|
|
12
17
|
changesSummary: string;
|
|
13
18
|
filesChanged: string[];
|
|
14
19
|
testsPassed?: boolean;
|
|
20
|
+
/** Intent from the classifier — lets the reviewer judge analysis tasks by analysis content, not by file-change count. */
|
|
21
|
+
intent?: import('../types').TaskType;
|
|
15
22
|
}
|
|
16
23
|
export declare const reviewOutcome: (input: ReviewerInput, mode: import("../types").Mode) => Promise<ReviewVerdict>;
|
|
17
24
|
export declare const reviewerAgent: Agent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reviewer.d.ts","sourceRoot":"","sources":["../../src/agents/reviewer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAe,MAAM,QAAQ,CAAC;AAK5C,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3E,OAAO,EAAE,MAAM,CAAC;CACjB;
|
|
1
|
+
{"version":3,"file":"reviewer.d.ts","sourceRoot":"","sources":["../../src/agents/reviewer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAe,MAAM,QAAQ,CAAC;AAK5C,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3E,OAAO,EAAE,MAAM,CAAC;CACjB;AA6CD,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,yHAAyH;IACzH,MAAM,CAAC,EAAE,OAAO,UAAU,EAAE,QAAQ,CAAC;CACtC;AAED,eAAO,MAAM,aAAa,GACxB,OAAO,aAAa,EACpB,MAAM,OAAO,UAAU,EAAE,IAAI,KAC5B,OAAO,CAAC,aAAa,CAuCvB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAM3B,CAAC"}
|