@oni.bot/core 0.6.3 → 1.0.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/CHANGELOG.md +126 -0
- package/README.md +64 -263
- package/SECURITY.md +71 -0
- package/dist/checkpointers/sqlite.d.ts.map +1 -1
- package/dist/checkpointers/sqlite.js +42 -25
- package/dist/checkpointers/sqlite.js.map +1 -1
- package/dist/circuit-breaker.d.ts +20 -0
- package/dist/circuit-breaker.d.ts.map +1 -0
- package/dist/circuit-breaker.js +58 -0
- package/dist/circuit-breaker.js.map +1 -0
- package/dist/cli/build.d.ts +11 -0
- package/dist/cli/build.d.ts.map +1 -0
- package/dist/cli/build.js +61 -0
- package/dist/cli/build.js.map +1 -0
- package/dist/cli/dev.d.ts +5 -0
- package/dist/cli/dev.d.ts.map +1 -0
- package/dist/cli/dev.js +54 -0
- package/dist/cli/dev.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 +21 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/init.d.ts +4 -0
- package/dist/cli/init.d.ts.map +1 -0
- package/dist/cli/init.js +34 -0
- package/dist/cli/init.js.map +1 -0
- package/dist/cli/inspect.d.ts +5 -0
- package/dist/cli/inspect.d.ts.map +1 -0
- package/dist/cli/inspect.js +85 -0
- package/dist/cli/inspect.js.map +1 -0
- package/dist/cli/router.d.ts +14 -0
- package/dist/cli/router.d.ts.map +1 -0
- package/dist/cli/router.js +107 -0
- package/dist/cli/router.js.map +1 -0
- package/dist/cli/run.d.ts +5 -0
- package/dist/cli/run.d.ts.map +1 -0
- package/dist/cli/run.js +53 -0
- package/dist/cli/run.js.map +1 -0
- package/dist/cli/templates.d.ts +9 -0
- package/dist/cli/templates.d.ts.map +1 -0
- package/dist/cli/templates.js +159 -0
- package/dist/cli/templates.js.map +1 -0
- package/dist/cli/test.d.ts +3 -0
- package/dist/cli/test.d.ts.map +1 -0
- package/dist/cli/test.js +29 -0
- package/dist/cli/test.js.map +1 -0
- package/dist/config/index.d.ts +3 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +3 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/loader.d.ts +37 -0
- package/dist/config/loader.d.ts.map +1 -0
- package/dist/config/loader.js +180 -0
- package/dist/config/loader.js.map +1 -0
- package/dist/config/types.d.ts +74 -0
- package/dist/config/types.d.ts.map +1 -0
- package/dist/config/types.js +5 -0
- package/dist/config/types.js.map +1 -0
- package/dist/coordination/pubsub.d.ts +4 -0
- package/dist/coordination/pubsub.d.ts.map +1 -1
- package/dist/coordination/pubsub.js +8 -0
- package/dist/coordination/pubsub.js.map +1 -1
- package/dist/coordination/request-reply.d.ts +3 -1
- package/dist/coordination/request-reply.d.ts.map +1 -1
- package/dist/coordination/request-reply.js +11 -2
- package/dist/coordination/request-reply.js.map +1 -1
- package/dist/dlq.d.ts +17 -0
- package/dist/dlq.d.ts.map +1 -0
- package/dist/dlq.js +41 -0
- package/dist/dlq.js.map +1 -0
- package/dist/errors.d.ts +43 -2
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +179 -8
- package/dist/errors.js.map +1 -1
- package/dist/events/bridge.d.ts +17 -0
- package/dist/events/bridge.d.ts.map +1 -0
- package/dist/events/bridge.js +67 -0
- package/dist/events/bridge.js.map +1 -0
- package/dist/events/bus.d.ts +9 -0
- package/dist/events/bus.d.ts.map +1 -1
- package/dist/events/bus.js +39 -4
- package/dist/events/bus.js.map +1 -1
- package/dist/events/index.d.ts +2 -1
- package/dist/events/index.d.ts.map +1 -1
- package/dist/events/index.js +2 -0
- package/dist/events/index.js.map +1 -1
- package/dist/events/types.d.ts +123 -1
- package/dist/events/types.d.ts.map +1 -1
- package/dist/graph.d.ts +17 -0
- package/dist/graph.d.ts.map +1 -1
- package/dist/graph.js +29 -10
- package/dist/graph.js.map +1 -1
- package/dist/guardrails/types.d.ts +1 -1
- package/dist/guardrails/types.d.ts.map +1 -1
- package/dist/harness/agent-loop.d.ts +8 -0
- package/dist/harness/agent-loop.d.ts.map +1 -0
- package/dist/harness/agent-loop.js +524 -0
- package/dist/harness/agent-loop.js.map +1 -0
- package/dist/harness/context-compactor.d.ts +92 -0
- package/dist/harness/context-compactor.d.ts.map +1 -0
- package/dist/harness/context-compactor.js +201 -0
- package/dist/harness/context-compactor.js.map +1 -0
- package/dist/harness/harness.d.ts +41 -0
- package/dist/harness/harness.d.ts.map +1 -0
- package/dist/harness/harness.js +140 -0
- package/dist/harness/harness.js.map +1 -0
- package/dist/harness/hooks-engine.d.ts +77 -0
- package/dist/harness/hooks-engine.d.ts.map +1 -0
- package/dist/harness/hooks-engine.js +232 -0
- package/dist/harness/hooks-engine.js.map +1 -0
- package/dist/harness/index.d.ts +17 -0
- package/dist/harness/index.d.ts.map +1 -0
- package/dist/harness/index.js +21 -0
- package/dist/harness/index.js.map +1 -0
- package/dist/harness/safety-gate.d.ts +29 -0
- package/dist/harness/safety-gate.d.ts.map +1 -0
- package/dist/harness/safety-gate.js +72 -0
- package/dist/harness/safety-gate.js.map +1 -0
- package/dist/harness/skill-loader.d.ts +76 -0
- package/dist/harness/skill-loader.d.ts.map +1 -0
- package/dist/harness/skill-loader.js +244 -0
- package/dist/harness/skill-loader.js.map +1 -0
- package/dist/harness/todo-module.d.ts +39 -0
- package/dist/harness/todo-module.d.ts.map +1 -0
- package/dist/harness/todo-module.js +179 -0
- package/dist/harness/todo-module.js.map +1 -0
- package/dist/harness/types.d.ts +100 -0
- package/dist/harness/types.d.ts.map +1 -0
- package/dist/harness/types.js +9 -0
- package/dist/harness/types.js.map +1 -0
- package/dist/harness/validate-args.d.ts +16 -0
- package/dist/harness/validate-args.d.ts.map +1 -0
- package/dist/harness/validate-args.js +132 -0
- package/dist/harness/validate-args.js.map +1 -0
- package/dist/hitl/interrupt.d.ts.map +1 -1
- package/dist/hitl/interrupt.js +7 -6
- package/dist/hitl/interrupt.js.map +1 -1
- package/dist/index.d.ts +16 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +22 -13
- package/dist/index.js.map +1 -1
- package/dist/internal/timeout.d.ts +2 -0
- package/dist/internal/timeout.d.ts.map +1 -0
- package/dist/internal/timeout.js +16 -0
- package/dist/internal/timeout.js.map +1 -0
- package/dist/lsp/client.d.ts +70 -0
- package/dist/lsp/client.d.ts.map +1 -0
- package/dist/lsp/client.js +421 -0
- package/dist/lsp/client.js.map +1 -0
- package/dist/lsp/index.d.ts +77 -0
- package/dist/lsp/index.d.ts.map +1 -0
- package/dist/lsp/index.js +183 -0
- package/dist/lsp/index.js.map +1 -0
- package/dist/lsp/servers.d.ts +48 -0
- package/dist/lsp/servers.d.ts.map +1 -0
- package/dist/lsp/servers.js +108 -0
- package/dist/lsp/servers.js.map +1 -0
- package/dist/lsp/types.d.ts +142 -0
- package/dist/lsp/types.d.ts.map +1 -0
- package/dist/lsp/types.js +16 -0
- package/dist/lsp/types.js.map +1 -0
- package/dist/mcp/client.d.ts +56 -0
- package/dist/mcp/client.d.ts.map +1 -0
- package/dist/mcp/client.js +170 -0
- package/dist/mcp/client.js.map +1 -0
- package/dist/mcp/convert.d.ts +26 -0
- package/dist/mcp/convert.d.ts.map +1 -0
- package/dist/mcp/convert.js +56 -0
- package/dist/mcp/convert.js.map +1 -0
- package/dist/mcp/index.d.ts +21 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +19 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/transport.d.ts +56 -0
- package/dist/mcp/transport.d.ts.map +1 -0
- package/dist/mcp/transport.js +204 -0
- package/dist/mcp/transport.js.map +1 -0
- package/dist/mcp/types.d.ts +96 -0
- package/dist/mcp/types.d.ts.map +1 -0
- package/dist/mcp/types.js +11 -0
- package/dist/mcp/types.js.map +1 -0
- package/dist/models/anthropic.d.ts.map +1 -1
- package/dist/models/anthropic.js +78 -41
- package/dist/models/anthropic.js.map +1 -1
- package/dist/models/google.d.ts.map +1 -1
- package/dist/models/google.js +54 -52
- package/dist/models/google.js.map +1 -1
- package/dist/models/http-error.d.ts +16 -0
- package/dist/models/http-error.d.ts.map +1 -0
- package/dist/models/http-error.js +67 -0
- package/dist/models/http-error.js.map +1 -0
- package/dist/models/index.d.ts +5 -0
- package/dist/models/index.d.ts.map +1 -1
- package/dist/models/index.js +3 -0
- package/dist/models/index.js.map +1 -1
- package/dist/models/ollama.d.ts.map +1 -1
- package/dist/models/ollama.js +4 -3
- package/dist/models/ollama.js.map +1 -1
- package/dist/models/openai.d.ts.map +1 -1
- package/dist/models/openai.js +42 -45
- package/dist/models/openai.js.map +1 -1
- package/dist/models/openrouter.d.ts +26 -0
- package/dist/models/openrouter.d.ts.map +1 -0
- package/dist/models/openrouter.js +361 -0
- package/dist/models/openrouter.js.map +1 -0
- package/dist/models/sse.d.ts +9 -0
- package/dist/models/sse.d.ts.map +1 -0
- package/dist/models/sse.js +45 -0
- package/dist/models/sse.js.map +1 -0
- package/dist/models/types.d.ts +10 -0
- package/dist/models/types.d.ts.map +1 -1
- package/dist/oni-code/agent-registry.d.ts +73 -0
- package/dist/oni-code/agent-registry.d.ts.map +1 -0
- package/dist/oni-code/agent-registry.js +151 -0
- package/dist/oni-code/agent-registry.js.map +1 -0
- package/dist/oni-code/bin.d.ts +18 -0
- package/dist/oni-code/bin.d.ts.map +1 -0
- package/dist/oni-code/bin.js +78 -0
- package/dist/oni-code/bin.js.map +1 -0
- package/dist/oni-code/change-tracking.d.ts +28 -0
- package/dist/oni-code/change-tracking.d.ts.map +1 -0
- package/dist/oni-code/change-tracking.js +77 -0
- package/dist/oni-code/change-tracking.js.map +1 -0
- package/dist/oni-code/cli.d.ts +6 -0
- package/dist/oni-code/cli.d.ts.map +1 -0
- package/dist/oni-code/cli.js +30 -0
- package/dist/oni-code/cli.js.map +1 -0
- package/dist/oni-code/conductor.d.ts +203 -0
- package/dist/oni-code/conductor.d.ts.map +1 -0
- package/dist/oni-code/conductor.js +1547 -0
- package/dist/oni-code/conductor.js.map +1 -0
- package/dist/oni-code/config.d.ts +130 -0
- package/dist/oni-code/config.d.ts.map +1 -0
- package/dist/oni-code/config.js +264 -0
- package/dist/oni-code/config.js.map +1 -0
- package/dist/oni-code/context-files.d.ts +22 -0
- package/dist/oni-code/context-files.d.ts.map +1 -0
- package/dist/oni-code/context-files.js +156 -0
- package/dist/oni-code/context-files.js.map +1 -0
- package/dist/oni-code/cron/humanize.d.ts +26 -0
- package/dist/oni-code/cron/humanize.d.ts.map +1 -0
- package/dist/oni-code/cron/humanize.js +83 -0
- package/dist/oni-code/cron/humanize.js.map +1 -0
- package/dist/oni-code/cron/index.d.ts +10 -0
- package/dist/oni-code/cron/index.d.ts.map +1 -0
- package/dist/oni-code/cron/index.js +7 -0
- package/dist/oni-code/cron/index.js.map +1 -0
- package/dist/oni-code/cron/matcher.d.ts +29 -0
- package/dist/oni-code/cron/matcher.d.ts.map +1 -0
- package/dist/oni-code/cron/matcher.js +73 -0
- package/dist/oni-code/cron/matcher.js.map +1 -0
- package/dist/oni-code/cron/parser.d.ts +27 -0
- package/dist/oni-code/cron/parser.d.ts.map +1 -0
- package/dist/oni-code/cron/parser.js +149 -0
- package/dist/oni-code/cron/parser.js.map +1 -0
- package/dist/oni-code/cron/persistence.d.ts +21 -0
- package/dist/oni-code/cron/persistence.d.ts.map +1 -0
- package/dist/oni-code/cron/persistence.js +58 -0
- package/dist/oni-code/cron/persistence.js.map +1 -0
- package/dist/oni-code/cron/scheduler.d.ts +64 -0
- package/dist/oni-code/cron/scheduler.d.ts.map +1 -0
- package/dist/oni-code/cron/scheduler.js +188 -0
- package/dist/oni-code/cron/scheduler.js.map +1 -0
- package/dist/oni-code/cron/store.d.ts +46 -0
- package/dist/oni-code/cron/store.d.ts.map +1 -0
- package/dist/oni-code/cron/store.js +68 -0
- package/dist/oni-code/cron/store.js.map +1 -0
- package/dist/oni-code/env.d.ts +17 -0
- package/dist/oni-code/env.d.ts.map +1 -0
- package/dist/oni-code/env.js +51 -0
- package/dist/oni-code/env.js.map +1 -0
- package/dist/oni-code/file-reader.d.ts +28 -0
- package/dist/oni-code/file-reader.d.ts.map +1 -0
- package/dist/oni-code/file-reader.js +368 -0
- package/dist/oni-code/file-reader.js.map +1 -0
- package/dist/oni-code/file-watcher.d.ts +66 -0
- package/dist/oni-code/file-watcher.d.ts.map +1 -0
- package/dist/oni-code/file-watcher.js +167 -0
- package/dist/oni-code/file-watcher.js.map +1 -0
- package/dist/oni-code/loop-detector.d.ts +64 -0
- package/dist/oni-code/loop-detector.d.ts.map +1 -0
- package/dist/oni-code/loop-detector.js +163 -0
- package/dist/oni-code/loop-detector.js.map +1 -0
- package/dist/oni-code/permissions.d.ts +43 -0
- package/dist/oni-code/permissions.d.ts.map +1 -0
- package/dist/oni-code/permissions.js +98 -0
- package/dist/oni-code/permissions.js.map +1 -0
- package/dist/oni-code/planner.d.ts +26 -0
- package/dist/oni-code/planner.d.ts.map +1 -0
- package/dist/oni-code/planner.js +86 -0
- package/dist/oni-code/planner.js.map +1 -0
- package/dist/oni-code/plugin-loader.d.ts +103 -0
- package/dist/oni-code/plugin-loader.d.ts.map +1 -0
- package/dist/oni-code/plugin-loader.js +171 -0
- package/dist/oni-code/plugin-loader.js.map +1 -0
- package/dist/oni-code/process-tree.d.ts +44 -0
- package/dist/oni-code/process-tree.d.ts.map +1 -0
- package/dist/oni-code/process-tree.js +107 -0
- package/dist/oni-code/process-tree.js.map +1 -0
- package/dist/oni-code/progress-tracker.d.ts +40 -0
- package/dist/oni-code/progress-tracker.d.ts.map +1 -0
- package/dist/oni-code/progress-tracker.js +375 -0
- package/dist/oni-code/progress-tracker.js.map +1 -0
- package/dist/oni-code/scheduler.d.ts +56 -0
- package/dist/oni-code/scheduler.d.ts.map +1 -0
- package/dist/oni-code/scheduler.js +105 -0
- package/dist/oni-code/scheduler.js.map +1 -0
- package/dist/oni-code/session-fork.d.ts +146 -0
- package/dist/oni-code/session-fork.d.ts.map +1 -0
- package/dist/oni-code/session-fork.js +238 -0
- package/dist/oni-code/session-fork.js.map +1 -0
- package/dist/oni-code/session-stats.d.ts +72 -0
- package/dist/oni-code/session-stats.d.ts.map +1 -0
- package/dist/oni-code/session-stats.js +141 -0
- package/dist/oni-code/session-stats.js.map +1 -0
- package/dist/oni-code/session-title.d.ts +25 -0
- package/dist/oni-code/session-title.d.ts.map +1 -0
- package/dist/oni-code/session-title.js +67 -0
- package/dist/oni-code/session-title.js.map +1 -0
- package/dist/oni-code/shell-parser.d.ts +112 -0
- package/dist/oni-code/shell-parser.d.ts.map +1 -0
- package/dist/oni-code/shell-parser.js +657 -0
- package/dist/oni-code/shell-parser.js.map +1 -0
- package/dist/oni-code/summarizer.d.ts +27 -0
- package/dist/oni-code/summarizer.d.ts.map +1 -0
- package/dist/oni-code/summarizer.js +70 -0
- package/dist/oni-code/summarizer.js.map +1 -0
- package/dist/oni-code/swarm-checkpoint.d.ts +52 -0
- package/dist/oni-code/swarm-checkpoint.d.ts.map +1 -0
- package/dist/oni-code/swarm-checkpoint.js +71 -0
- package/dist/oni-code/swarm-checkpoint.js.map +1 -0
- package/dist/oni-code/swarm-runner.d.ts +173 -0
- package/dist/oni-code/swarm-runner.d.ts.map +1 -0
- package/dist/oni-code/swarm-runner.js +873 -0
- package/dist/oni-code/swarm-runner.js.map +1 -0
- package/dist/oni-code/system-prompt.d.ts +13 -0
- package/dist/oni-code/system-prompt.d.ts.map +1 -0
- package/dist/oni-code/system-prompt.js +64 -0
- package/dist/oni-code/system-prompt.js.map +1 -0
- package/dist/oni-code/task-evaluator.d.ts +73 -0
- package/dist/oni-code/task-evaluator.d.ts.map +1 -0
- package/dist/oni-code/task-evaluator.js +172 -0
- package/dist/oni-code/task-evaluator.js.map +1 -0
- package/dist/oni-code/tools/batch.d.ts +12 -0
- package/dist/oni-code/tools/batch.d.ts.map +1 -0
- package/dist/oni-code/tools/batch.js +116 -0
- package/dist/oni-code/tools/batch.js.map +1 -0
- package/dist/oni-code/tools/coding.d.ts +10 -0
- package/dist/oni-code/tools/coding.d.ts.map +1 -0
- package/dist/oni-code/tools/coding.js +557 -0
- package/dist/oni-code/tools/coding.js.map +1 -0
- package/dist/oni-code/tools/cron.d.ts +4 -0
- package/dist/oni-code/tools/cron.d.ts.map +1 -0
- package/dist/oni-code/tools/cron.js +120 -0
- package/dist/oni-code/tools/cron.js.map +1 -0
- package/dist/oni-code/tools/custom.d.ts +43 -0
- package/dist/oni-code/tools/custom.d.ts.map +1 -0
- package/dist/oni-code/tools/custom.js +115 -0
- package/dist/oni-code/tools/custom.js.map +1 -0
- package/dist/oni-code/tools/patch.d.ts +58 -0
- package/dist/oni-code/tools/patch.d.ts.map +1 -0
- package/dist/oni-code/tools/patch.js +247 -0
- package/dist/oni-code/tools/patch.js.map +1 -0
- package/dist/oni-code/tools/plan.d.ts +17 -0
- package/dist/oni-code/tools/plan.d.ts.map +1 -0
- package/dist/oni-code/tools/plan.js +48 -0
- package/dist/oni-code/tools/plan.js.map +1 -0
- package/dist/oni-code/tools/question.d.ts +17 -0
- package/dist/oni-code/tools/question.d.ts.map +1 -0
- package/dist/oni-code/tools/question.js +46 -0
- package/dist/oni-code/tools/question.js.map +1 -0
- package/dist/oni-code/tools/skill.d.ts +36 -0
- package/dist/oni-code/tools/skill.d.ts.map +1 -0
- package/dist/oni-code/tools/skill.js +132 -0
- package/dist/oni-code/tools/skill.js.map +1 -0
- package/dist/oni-code/tools/spawn-agents.d.ts +37 -0
- package/dist/oni-code/tools/spawn-agents.d.ts.map +1 -0
- package/dist/oni-code/tools/spawn-agents.js +91 -0
- package/dist/oni-code/tools/spawn-agents.js.map +1 -0
- package/dist/oni-code/tools/spawn-swarm.d.ts +70 -0
- package/dist/oni-code/tools/spawn-swarm.d.ts.map +1 -0
- package/dist/oni-code/tools/spawn-swarm.js +129 -0
- package/dist/oni-code/tools/spawn-swarm.js.map +1 -0
- package/dist/oni-code/tools/web.d.ts +11 -0
- package/dist/oni-code/tools/web.d.ts.map +1 -0
- package/dist/oni-code/tools/web.js +375 -0
- package/dist/oni-code/tools/web.js.map +1 -0
- package/dist/oni-code/topology-agent-builder.d.ts +22 -0
- package/dist/oni-code/topology-agent-builder.d.ts.map +1 -0
- package/dist/oni-code/topology-agent-builder.js +220 -0
- package/dist/oni-code/topology-agent-builder.js.map +1 -0
- package/dist/oni-code/topology-selector.d.ts +85 -0
- package/dist/oni-code/topology-selector.d.ts.map +1 -0
- package/dist/oni-code/topology-selector.js +338 -0
- package/dist/oni-code/topology-selector.js.map +1 -0
- package/dist/oni-code/ui/App.d.ts +10 -0
- package/dist/oni-code/ui/App.d.ts.map +1 -0
- package/dist/oni-code/ui/App.js +395 -0
- package/dist/oni-code/ui/App.js.map +1 -0
- package/dist/oni-code/ui/FooterPanel.d.ts +16 -0
- package/dist/oni-code/ui/FooterPanel.d.ts.map +1 -0
- package/dist/oni-code/ui/FooterPanel.js +56 -0
- package/dist/oni-code/ui/FooterPanel.js.map +1 -0
- package/dist/oni-code/ui/Header.d.ts +21 -0
- package/dist/oni-code/ui/Header.d.ts.map +1 -0
- package/dist/oni-code/ui/Header.js +105 -0
- package/dist/oni-code/ui/Header.js.map +1 -0
- package/dist/oni-code/ui/InputArea.d.ts +11 -0
- package/dist/oni-code/ui/InputArea.d.ts.map +1 -0
- package/dist/oni-code/ui/InputArea.js +82 -0
- package/dist/oni-code/ui/InputArea.js.map +1 -0
- package/dist/oni-code/ui/MessageBlock.d.ts +11 -0
- package/dist/oni-code/ui/MessageBlock.d.ts.map +1 -0
- package/dist/oni-code/ui/MessageBlock.js +103 -0
- package/dist/oni-code/ui/MessageBlock.js.map +1 -0
- package/dist/oni-code/ui/OutputPane.d.ts +12 -0
- package/dist/oni-code/ui/OutputPane.d.ts.map +1 -0
- package/dist/oni-code/ui/OutputPane.js +8 -0
- package/dist/oni-code/ui/OutputPane.js.map +1 -0
- package/dist/oni-code/ui/PermissionPrompt.d.ts +11 -0
- package/dist/oni-code/ui/PermissionPrompt.d.ts.map +1 -0
- package/dist/oni-code/ui/PermissionPrompt.js +48 -0
- package/dist/oni-code/ui/PermissionPrompt.js.map +1 -0
- package/dist/oni-code/ui/QuestionPrompt.d.ts +8 -0
- package/dist/oni-code/ui/QuestionPrompt.d.ts.map +1 -0
- package/dist/oni-code/ui/QuestionPrompt.js +9 -0
- package/dist/oni-code/ui/QuestionPrompt.js.map +1 -0
- package/dist/oni-code/ui/StatusLine.d.ts +14 -0
- package/dist/oni-code/ui/StatusLine.d.ts.map +1 -0
- package/dist/oni-code/ui/StatusLine.js +23 -0
- package/dist/oni-code/ui/StatusLine.js.map +1 -0
- package/dist/oni-code/ui/SwarmPanel.d.ts +9 -0
- package/dist/oni-code/ui/SwarmPanel.d.ts.map +1 -0
- package/dist/oni-code/ui/SwarmPanel.js +52 -0
- package/dist/oni-code/ui/SwarmPanel.js.map +1 -0
- package/dist/oni-code/ui/ToolCallBlock.d.ts +10 -0
- package/dist/oni-code/ui/ToolCallBlock.d.ts.map +1 -0
- package/dist/oni-code/ui/ToolCallBlock.js +21 -0
- package/dist/oni-code/ui/ToolCallBlock.js.map +1 -0
- package/dist/oni-code/ui/Toolbar.d.ts +8 -0
- package/dist/oni-code/ui/Toolbar.d.ts.map +1 -0
- package/dist/oni-code/ui/Toolbar.js +11 -0
- package/dist/oni-code/ui/Toolbar.js.map +1 -0
- package/dist/oni-code/ui/WelcomeBanner.d.ts +12 -0
- package/dist/oni-code/ui/WelcomeBanner.d.ts.map +1 -0
- package/dist/oni-code/ui/WelcomeBanner.js +24 -0
- package/dist/oni-code/ui/WelcomeBanner.js.map +1 -0
- package/dist/oni-code/ui/activity.d.ts +15 -0
- package/dist/oni-code/ui/activity.d.ts.map +1 -0
- package/dist/oni-code/ui/activity.js +252 -0
- package/dist/oni-code/ui/activity.js.map +1 -0
- package/dist/oni-code/ui/banner.d.ts +16 -0
- package/dist/oni-code/ui/banner.d.ts.map +1 -0
- package/dist/oni-code/ui/banner.js +132 -0
- package/dist/oni-code/ui/banner.js.map +1 -0
- package/dist/oni-code/ui/command-menu.d.ts +7 -0
- package/dist/oni-code/ui/command-menu.d.ts.map +1 -0
- package/dist/oni-code/ui/command-menu.js +20 -0
- package/dist/oni-code/ui/command-menu.js.map +1 -0
- package/dist/oni-code/ui/diff.d.ts +17 -0
- package/dist/oni-code/ui/diff.d.ts.map +1 -0
- package/dist/oni-code/ui/diff.js +37 -0
- package/dist/oni-code/ui/diff.js.map +1 -0
- package/dist/oni-code/ui/format.d.ts +41 -0
- package/dist/oni-code/ui/format.d.ts.map +1 -0
- package/dist/oni-code/ui/format.js +223 -0
- package/dist/oni-code/ui/format.js.map +1 -0
- package/dist/oni-code/ui/input.d.ts +28 -0
- package/dist/oni-code/ui/input.d.ts.map +1 -0
- package/dist/oni-code/ui/input.js +216 -0
- package/dist/oni-code/ui/input.js.map +1 -0
- package/dist/oni-code/ui/insights.d.ts +39 -0
- package/dist/oni-code/ui/insights.d.ts.map +1 -0
- package/dist/oni-code/ui/insights.js +193 -0
- package/dist/oni-code/ui/insights.js.map +1 -0
- package/dist/oni-code/ui/markdown.d.ts +9 -0
- package/dist/oni-code/ui/markdown.d.ts.map +1 -0
- package/dist/oni-code/ui/markdown.js +44 -0
- package/dist/oni-code/ui/markdown.js.map +1 -0
- package/dist/oni-code/ui/panels.d.ts +39 -0
- package/dist/oni-code/ui/panels.d.ts.map +1 -0
- package/dist/oni-code/ui/panels.js +209 -0
- package/dist/oni-code/ui/panels.js.map +1 -0
- package/dist/oni-code/ui/paste.d.ts +17 -0
- package/dist/oni-code/ui/paste.d.ts.map +1 -0
- package/dist/oni-code/ui/paste.js +45 -0
- package/dist/oni-code/ui/paste.js.map +1 -0
- package/dist/oni-code/ui/raw-spinner.d.ts +37 -0
- package/dist/oni-code/ui/raw-spinner.d.ts.map +1 -0
- package/dist/oni-code/ui/raw-spinner.js +121 -0
- package/dist/oni-code/ui/raw-spinner.js.map +1 -0
- package/dist/oni-code/ui/session.d.ts +44 -0
- package/dist/oni-code/ui/session.d.ts.map +1 -0
- package/dist/oni-code/ui/session.js +93 -0
- package/dist/oni-code/ui/session.js.map +1 -0
- package/dist/oni-code/ui/spinner.d.ts +7 -0
- package/dist/oni-code/ui/spinner.d.ts.map +1 -0
- package/dist/oni-code/ui/spinner.js +20 -0
- package/dist/oni-code/ui/spinner.js.map +1 -0
- package/dist/oni-code/ui/swarm-activity.d.ts +50 -0
- package/dist/oni-code/ui/swarm-activity.d.ts.map +1 -0
- package/dist/oni-code/ui/swarm-activity.js +233 -0
- package/dist/oni-code/ui/swarm-activity.js.map +1 -0
- package/dist/oni-code/ui/terminal-size.d.ts +18 -0
- package/dist/oni-code/ui/terminal-size.d.ts.map +1 -0
- package/dist/oni-code/ui/terminal-size.js +45 -0
- package/dist/oni-code/ui/terminal-size.js.map +1 -0
- package/dist/oni-code/ui/theme.d.ts +82 -0
- package/dist/oni-code/ui/theme.d.ts.map +1 -0
- package/dist/oni-code/ui/theme.js +101 -0
- package/dist/oni-code/ui/theme.js.map +1 -0
- package/dist/oni-code/ui/tool-utils.d.ts +10 -0
- package/dist/oni-code/ui/tool-utils.d.ts.map +1 -0
- package/dist/oni-code/ui/tool-utils.js +82 -0
- package/dist/oni-code/ui/tool-utils.js.map +1 -0
- package/dist/oni-code/ui/useTerminalSize.d.ts +3 -0
- package/dist/oni-code/ui/useTerminalSize.d.ts.map +1 -0
- package/dist/oni-code/ui/useTerminalSize.js +16 -0
- package/dist/oni-code/ui/useTerminalSize.js.map +1 -0
- package/dist/oni-code/workspace/change-tracker.d.ts +18 -0
- package/dist/oni-code/workspace/change-tracker.d.ts.map +1 -0
- package/dist/oni-code/workspace/change-tracker.js +67 -0
- package/dist/oni-code/workspace/change-tracker.js.map +1 -0
- package/dist/oni-code/workspace/conflict-detector.d.ts +12 -0
- package/dist/oni-code/workspace/conflict-detector.d.ts.map +1 -0
- package/dist/oni-code/workspace/conflict-detector.js +24 -0
- package/dist/oni-code/workspace/conflict-detector.js.map +1 -0
- package/dist/oni-code/workspace/file-snapshots.d.ts +39 -0
- package/dist/oni-code/workspace/file-snapshots.d.ts.map +1 -0
- package/dist/oni-code/workspace/file-snapshots.js +77 -0
- package/dist/oni-code/workspace/file-snapshots.js.map +1 -0
- package/dist/oni-code/workspace/index.d.ts +5 -0
- package/dist/oni-code/workspace/index.d.ts.map +1 -0
- package/dist/oni-code/workspace/index.js +5 -0
- package/dist/oni-code/workspace/index.js.map +1 -0
- package/dist/oni-code/workspace/project-map.d.ts +14 -0
- package/dist/oni-code/workspace/project-map.d.ts.map +1 -0
- package/dist/oni-code/workspace/project-map.js +91 -0
- package/dist/oni-code/workspace/project-map.js.map +1 -0
- package/dist/prebuilt/tool-node.d.ts.map +1 -1
- package/dist/prebuilt/tool-node.js +0 -1
- package/dist/prebuilt/tool-node.js.map +1 -1
- package/dist/pregel.d.ts +15 -1
- package/dist/pregel.d.ts.map +1 -1
- package/dist/pregel.js +199 -51
- package/dist/pregel.js.map +1 -1
- package/dist/retry.d.ts.map +1 -1
- package/dist/retry.js +16 -4
- package/dist/retry.js.map +1 -1
- package/dist/sentinel/config/index.d.ts +2 -0
- package/dist/sentinel/config/index.d.ts.map +1 -0
- package/dist/sentinel/config/index.js +2 -0
- package/dist/sentinel/config/index.js.map +1 -0
- package/dist/sentinel/config/schema.d.ts +4 -0
- package/dist/sentinel/config/schema.d.ts.map +1 -0
- package/dist/sentinel/config/schema.js +42 -0
- package/dist/sentinel/config/schema.js.map +1 -0
- package/dist/sentinel/debate/index.d.ts +6 -0
- package/dist/sentinel/debate/index.d.ts.map +1 -0
- package/dist/sentinel/debate/index.js +64 -0
- package/dist/sentinel/debate/index.js.map +1 -0
- package/dist/sentinel/debate/prompts.d.ts +4 -0
- package/dist/sentinel/debate/prompts.d.ts.map +1 -0
- package/dist/sentinel/debate/prompts.js +13 -0
- package/dist/sentinel/debate/prompts.js.map +1 -0
- package/dist/sentinel/fix/index.d.ts +6 -0
- package/dist/sentinel/fix/index.d.ts.map +1 -0
- package/dist/sentinel/fix/index.js +27 -0
- package/dist/sentinel/fix/index.js.map +1 -0
- package/dist/sentinel/fix/strategies.d.ts +9 -0
- package/dist/sentinel/fix/strategies.d.ts.map +1 -0
- package/dist/sentinel/fix/strategies.js +40 -0
- package/dist/sentinel/fix/strategies.js.map +1 -0
- package/dist/sentinel/index.d.ts +14 -0
- package/dist/sentinel/index.d.ts.map +1 -0
- package/dist/sentinel/index.js +22 -0
- package/dist/sentinel/index.js.map +1 -0
- package/dist/sentinel/integrations/cli.d.ts +10 -0
- package/dist/sentinel/integrations/cli.d.ts.map +1 -0
- package/dist/sentinel/integrations/cli.js +24 -0
- package/dist/sentinel/integrations/cli.js.map +1 -0
- package/dist/sentinel/integrations/index.d.ts +2 -0
- package/dist/sentinel/integrations/index.d.ts.map +1 -0
- package/dist/sentinel/integrations/index.js +2 -0
- package/dist/sentinel/integrations/index.js.map +1 -0
- package/dist/sentinel/memory/index.d.ts +16 -0
- package/dist/sentinel/memory/index.d.ts.map +1 -0
- package/dist/sentinel/memory/index.js +60 -0
- package/dist/sentinel/memory/index.js.map +1 -0
- package/dist/sentinel/report/console.d.ts +3 -0
- package/dist/sentinel/report/console.d.ts.map +1 -0
- package/dist/sentinel/report/console.js +27 -0
- package/dist/sentinel/report/console.js.map +1 -0
- package/dist/sentinel/report/github.d.ts +3 -0
- package/dist/sentinel/report/github.d.ts.map +1 -0
- package/dist/sentinel/report/github.js +36 -0
- package/dist/sentinel/report/github.js.map +1 -0
- package/dist/sentinel/report/index.d.ts +6 -0
- package/dist/sentinel/report/index.d.ts.map +1 -0
- package/dist/sentinel/report/index.js +15 -0
- package/dist/sentinel/report/index.js.map +1 -0
- package/dist/sentinel/report/sarif.d.ts +3 -0
- package/dist/sentinel/report/sarif.d.ts.map +1 -0
- package/dist/sentinel/report/sarif.js +29 -0
- package/dist/sentinel/report/sarif.js.map +1 -0
- package/dist/sentinel/sentinel.d.ts +17 -0
- package/dist/sentinel/sentinel.d.ts.map +1 -0
- package/dist/sentinel/sentinel.js +111 -0
- package/dist/sentinel/sentinel.js.map +1 -0
- package/dist/sentinel/swarm/agents.d.ts +6 -0
- package/dist/sentinel/swarm/agents.d.ts.map +1 -0
- package/dist/sentinel/swarm/agents.js +36 -0
- package/dist/sentinel/swarm/agents.js.map +1 -0
- package/dist/sentinel/swarm/index.d.ts +8 -0
- package/dist/sentinel/swarm/index.d.ts.map +1 -0
- package/dist/sentinel/swarm/index.js +74 -0
- package/dist/sentinel/swarm/index.js.map +1 -0
- package/dist/sentinel/swarm/prompts.d.ts +2 -0
- package/dist/sentinel/swarm/prompts.d.ts.map +1 -0
- package/dist/sentinel/swarm/prompts.js +24 -0
- package/dist/sentinel/swarm/prompts.js.map +1 -0
- package/dist/sentinel/swarm/topology.d.ts +10 -0
- package/dist/sentinel/swarm/topology.d.ts.map +1 -0
- package/dist/sentinel/swarm/topology.js +38 -0
- package/dist/sentinel/swarm/topology.js.map +1 -0
- package/dist/sentinel/triage/analyzers/complexity-analyzer.d.ts +7 -0
- package/dist/sentinel/triage/analyzers/complexity-analyzer.d.ts.map +1 -0
- package/dist/sentinel/triage/analyzers/complexity-analyzer.js +94 -0
- package/dist/sentinel/triage/analyzers/complexity-analyzer.js.map +1 -0
- package/dist/sentinel/triage/analyzers/custom-analyzer.d.ts +19 -0
- package/dist/sentinel/triage/analyzers/custom-analyzer.d.ts.map +1 -0
- package/dist/sentinel/triage/analyzers/custom-analyzer.js +268 -0
- package/dist/sentinel/triage/analyzers/custom-analyzer.js.map +1 -0
- package/dist/sentinel/triage/analyzers/dependency-analyzer.d.ts +26 -0
- package/dist/sentinel/triage/analyzers/dependency-analyzer.d.ts.map +1 -0
- package/dist/sentinel/triage/analyzers/dependency-analyzer.js +220 -0
- package/dist/sentinel/triage/analyzers/dependency-analyzer.js.map +1 -0
- package/dist/sentinel/triage/analyzers/diff-analyzer.d.ts +12 -0
- package/dist/sentinel/triage/analyzers/diff-analyzer.d.ts.map +1 -0
- package/dist/sentinel/triage/analyzers/diff-analyzer.js +19 -0
- package/dist/sentinel/triage/analyzers/diff-analyzer.js.map +1 -0
- package/dist/sentinel/triage/analyzers/index.d.ts +14 -0
- package/dist/sentinel/triage/analyzers/index.d.ts.map +1 -0
- package/dist/sentinel/triage/analyzers/index.js +25 -0
- package/dist/sentinel/triage/analyzers/index.js.map +1 -0
- package/dist/sentinel/triage/analyzers/pattern-analyzer.d.ts +7 -0
- package/dist/sentinel/triage/analyzers/pattern-analyzer.d.ts.map +1 -0
- package/dist/sentinel/triage/analyzers/pattern-analyzer.js +180 -0
- package/dist/sentinel/triage/analyzers/pattern-analyzer.js.map +1 -0
- package/dist/sentinel/triage/analyzers/security-analyzer.d.ts +7 -0
- package/dist/sentinel/triage/analyzers/security-analyzer.d.ts.map +1 -0
- package/dist/sentinel/triage/analyzers/security-analyzer.js +96 -0
- package/dist/sentinel/triage/analyzers/security-analyzer.js.map +1 -0
- package/dist/sentinel/triage/analyzers/ts-parser.d.ts +71 -0
- package/dist/sentinel/triage/analyzers/ts-parser.d.ts.map +1 -0
- package/dist/sentinel/triage/analyzers/ts-parser.js +323 -0
- package/dist/sentinel/triage/analyzers/ts-parser.js.map +1 -0
- package/dist/sentinel/triage/analyzers/typescript-analyzer.d.ts +7 -0
- package/dist/sentinel/triage/analyzers/typescript-analyzer.d.ts.map +1 -0
- package/dist/sentinel/triage/analyzers/typescript-analyzer.js +68 -0
- package/dist/sentinel/triage/analyzers/typescript-analyzer.js.map +1 -0
- package/dist/sentinel/triage/index.d.ts +10 -0
- package/dist/sentinel/triage/index.d.ts.map +1 -0
- package/dist/sentinel/triage/index.js +39 -0
- package/dist/sentinel/triage/index.js.map +1 -0
- package/dist/sentinel/triage/scorer.d.ts +9 -0
- package/dist/sentinel/triage/scorer.d.ts.map +1 -0
- package/dist/sentinel/triage/scorer.js +28 -0
- package/dist/sentinel/triage/scorer.js.map +1 -0
- package/dist/sentinel/types.d.ts +125 -0
- package/dist/sentinel/types.d.ts.map +1 -0
- package/dist/sentinel/types.js +6 -0
- package/dist/sentinel/types.js.map +1 -0
- package/dist/store/index.d.ts +5 -0
- package/dist/store/index.d.ts.map +1 -1
- package/dist/store/index.js +24 -1
- package/dist/store/index.js.map +1 -1
- package/dist/stream-events.js +2 -2
- package/dist/stream-events.js.map +1 -1
- package/dist/streaming.d.ts +13 -0
- package/dist/streaming.d.ts.map +1 -1
- package/dist/streaming.js +42 -0
- package/dist/streaming.js.map +1 -1
- package/dist/swarm/graph.d.ts +81 -2
- package/dist/swarm/graph.d.ts.map +1 -1
- package/dist/swarm/graph.js +517 -36
- package/dist/swarm/graph.js.map +1 -1
- package/dist/swarm/index.d.ts +10 -2
- package/dist/swarm/index.d.ts.map +1 -1
- package/dist/swarm/index.js +6 -1
- package/dist/swarm/index.js.map +1 -1
- package/dist/swarm/mermaid.d.ts +10 -0
- package/dist/swarm/mermaid.d.ts.map +1 -0
- package/dist/swarm/mermaid.js +64 -0
- package/dist/swarm/mermaid.js.map +1 -0
- package/dist/swarm/pool.d.ts +9 -1
- package/dist/swarm/pool.d.ts.map +1 -1
- package/dist/swarm/pool.js +58 -10
- package/dist/swarm/pool.js.map +1 -1
- package/dist/swarm/registry.d.ts +11 -1
- package/dist/swarm/registry.d.ts.map +1 -1
- package/dist/swarm/registry.js +17 -3
- package/dist/swarm/registry.js.map +1 -1
- package/dist/swarm/scaling.d.ts +95 -0
- package/dist/swarm/scaling.d.ts.map +1 -0
- package/dist/swarm/scaling.js +214 -0
- package/dist/swarm/scaling.js.map +1 -0
- package/dist/swarm/snapshot.d.ts +51 -0
- package/dist/swarm/snapshot.d.ts.map +1 -0
- package/dist/swarm/snapshot.js +115 -0
- package/dist/swarm/snapshot.js.map +1 -0
- package/dist/swarm/supervisor.d.ts.map +1 -1
- package/dist/swarm/supervisor.js +82 -4
- package/dist/swarm/supervisor.js.map +1 -1
- package/dist/swarm/tracer.d.ts +57 -0
- package/dist/swarm/tracer.d.ts.map +1 -0
- package/dist/swarm/tracer.js +138 -0
- package/dist/swarm/tracer.js.map +1 -0
- package/dist/swarm/types.d.ts +23 -1
- package/dist/swarm/types.d.ts.map +1 -1
- package/dist/swarm/types.js.map +1 -1
- package/dist/telemetry.d.ts +41 -0
- package/dist/telemetry.d.ts.map +1 -0
- package/dist/telemetry.js +69 -0
- package/dist/telemetry.js.map +1 -0
- package/dist/testing/index.d.ts +33 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +95 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/tools/types.d.ts +2 -0
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/types.d.ts +9 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +160 -108
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent Registry — named, pre-configured agent definitions.
|
|
3
|
+
*
|
|
4
|
+
* Each registered agent has an identity (name, mode), tool scoping,
|
|
5
|
+
* system prompt, and step limits. Agents are reusable across:
|
|
6
|
+
* - Conductor subagent dispatch (runSubagent)
|
|
7
|
+
* - Swarm agent slots (DefaultSwarmRunner)
|
|
8
|
+
* - Parallel task dispatch (spawn_agents)
|
|
9
|
+
*
|
|
10
|
+
* Built-in agents: build, plan, explore, compaction.
|
|
11
|
+
* Custom agents can be registered from config.
|
|
12
|
+
*/
|
|
13
|
+
// ── Read-only Tool Lists ──────────────────────────────────────────
|
|
14
|
+
const READ_ONLY_TOOLS = [
|
|
15
|
+
"read_file", "grep", "glob", "list_dir", "project_map",
|
|
16
|
+
"webfetch", "websearch", "git",
|
|
17
|
+
];
|
|
18
|
+
const SEARCH_TOOLS = [
|
|
19
|
+
"read_file", "grep", "glob", "list_dir", "project_map",
|
|
20
|
+
"webfetch", "websearch",
|
|
21
|
+
];
|
|
22
|
+
// ── Built-in Agents ──────────────────────────────────────────────
|
|
23
|
+
const BUILTIN_AGENTS = [
|
|
24
|
+
{
|
|
25
|
+
name: "build",
|
|
26
|
+
description: "Full-access coding agent for implementing features, fixing bugs, and refactoring code.",
|
|
27
|
+
mode: "primary",
|
|
28
|
+
maxTurns: 50,
|
|
29
|
+
// tools: undefined = all tools
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
name: "plan",
|
|
33
|
+
description: "Read-only exploration and planning agent. Cannot modify files or run destructive commands.",
|
|
34
|
+
mode: "primary",
|
|
35
|
+
tools: READ_ONLY_TOOLS,
|
|
36
|
+
maxTurns: 20,
|
|
37
|
+
systemPrompt: `You are ONI in plan mode — a read-only exploration and planning agent.
|
|
38
|
+
|
|
39
|
+
You can READ files, SEARCH code, and BROWSE directories, but you CANNOT:
|
|
40
|
+
- Write, edit, or create files
|
|
41
|
+
- Run bash commands that modify the filesystem
|
|
42
|
+
- Dispatch subagents or swarms
|
|
43
|
+
|
|
44
|
+
Your job is to analyze the codebase, understand architecture, and produce a plan.
|
|
45
|
+
Output a structured plan with clear steps, file references, and rationale.`,
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
name: "explore",
|
|
49
|
+
description: "Fast agent for exploring codebases. Search-only — no writes, no bash.",
|
|
50
|
+
mode: "subagent",
|
|
51
|
+
tools: SEARCH_TOOLS,
|
|
52
|
+
maxTurns: 10,
|
|
53
|
+
useFastModel: true,
|
|
54
|
+
systemPrompt: `You are a fast codebase explorer. Your goal is to find relevant code quickly.
|
|
55
|
+
|
|
56
|
+
Use grep to search for patterns, glob to find files, read_file to examine content,
|
|
57
|
+
and list_dir to understand directory structure. Be thorough but concise.
|
|
58
|
+
|
|
59
|
+
Report your findings as a structured summary with file paths and line numbers.`,
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
name: "compaction",
|
|
63
|
+
description: "Hidden agent for summarizing conversation context during compaction.",
|
|
64
|
+
mode: "hidden",
|
|
65
|
+
tools: [],
|
|
66
|
+
maxTurns: 3,
|
|
67
|
+
useFastModel: true,
|
|
68
|
+
systemPrompt: `Summarize the conversation so far. Preserve:
|
|
69
|
+
1. The user's original task and intent
|
|
70
|
+
2. Key decisions made
|
|
71
|
+
3. Files modified and why
|
|
72
|
+
4. Current progress and remaining work
|
|
73
|
+
5. Any errors encountered and how they were resolved
|
|
74
|
+
|
|
75
|
+
Be concise but complete. This summary replaces the full conversation history.`,
|
|
76
|
+
},
|
|
77
|
+
];
|
|
78
|
+
// ── Agent Registry ────────────────────────────────────────────────
|
|
79
|
+
export class AgentRegistry {
|
|
80
|
+
agents = new Map();
|
|
81
|
+
constructor() {
|
|
82
|
+
// Register built-in agents
|
|
83
|
+
for (const agent of BUILTIN_AGENTS) {
|
|
84
|
+
this.agents.set(agent.name, agent);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
/** Register or overwrite an agent definition */
|
|
88
|
+
register(def) {
|
|
89
|
+
if (!def.name || typeof def.name !== "string") {
|
|
90
|
+
throw new Error("Agent definition must have a non-empty name");
|
|
91
|
+
}
|
|
92
|
+
this.agents.set(def.name, def);
|
|
93
|
+
}
|
|
94
|
+
/** Get an agent by name */
|
|
95
|
+
get(name) {
|
|
96
|
+
return this.agents.get(name);
|
|
97
|
+
}
|
|
98
|
+
/** Check if an agent exists */
|
|
99
|
+
has(name) {
|
|
100
|
+
return this.agents.has(name);
|
|
101
|
+
}
|
|
102
|
+
/** Remove an agent from the registry */
|
|
103
|
+
remove(name) {
|
|
104
|
+
return this.agents.delete(name);
|
|
105
|
+
}
|
|
106
|
+
/** List agents, optionally filtered by mode */
|
|
107
|
+
list(filter) {
|
|
108
|
+
const all = Array.from(this.agents.values());
|
|
109
|
+
if (filter?.mode) {
|
|
110
|
+
return all.filter((a) => a.mode === filter.mode);
|
|
111
|
+
}
|
|
112
|
+
return all;
|
|
113
|
+
}
|
|
114
|
+
/** List only visible agents (non-hidden) */
|
|
115
|
+
listVisible() {
|
|
116
|
+
return Array.from(this.agents.values()).filter((a) => a.mode !== "hidden");
|
|
117
|
+
}
|
|
118
|
+
/** Get the default primary agent (first registered primary) */
|
|
119
|
+
getDefault() {
|
|
120
|
+
return Array.from(this.agents.values()).find((a) => a.mode === "primary");
|
|
121
|
+
}
|
|
122
|
+
/** Get all registered agent names */
|
|
123
|
+
names() {
|
|
124
|
+
return Array.from(this.agents.keys());
|
|
125
|
+
}
|
|
126
|
+
/** Resolve an agent name — returns the definition or throws */
|
|
127
|
+
resolve(name) {
|
|
128
|
+
const def = this.agents.get(name);
|
|
129
|
+
if (!def) {
|
|
130
|
+
const available = this.names().join(", ");
|
|
131
|
+
throw new Error(`Unknown agent "${name}". Available agents: ${available}`);
|
|
132
|
+
}
|
|
133
|
+
return def;
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Filter a set of tools by agent's allowed tool list.
|
|
137
|
+
* If the agent has no tool restrictions, returns all tools.
|
|
138
|
+
*/
|
|
139
|
+
filterTools(agentName, allTools) {
|
|
140
|
+
const def = this.agents.get(agentName);
|
|
141
|
+
if (!def?.tools)
|
|
142
|
+
return allTools;
|
|
143
|
+
const allowed = new Set(def.tools);
|
|
144
|
+
return allTools.filter((t) => allowed.has(t.name));
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
/** Built-in agent names for external reference */
|
|
148
|
+
export const BUILTIN_AGENT_NAMES = BUILTIN_AGENTS.map((a) => a.name);
|
|
149
|
+
/** Read-only tool list — exported for permission system integration */
|
|
150
|
+
export { READ_ONLY_TOOLS, SEARCH_TOOLS };
|
|
151
|
+
//# sourceMappingURL=agent-registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-registry.js","sourceRoot":"","sources":["../../src/oni-code/agent-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* ONI CLI — bin entry point.
|
|
4
|
+
*
|
|
5
|
+
* Parses CLI args, loads the OpenRouter model adapter, and launches
|
|
6
|
+
* the streaming terminal UI.
|
|
7
|
+
*
|
|
8
|
+
* Usage:
|
|
9
|
+
* oni # interactive mode, cwd
|
|
10
|
+
* oni --auto # auto mode (minimal approvals)
|
|
11
|
+
* oni --dir /path/to/project # explicit root directory
|
|
12
|
+
*
|
|
13
|
+
* Environment:
|
|
14
|
+
* OPENROUTER_API_KEY (required)
|
|
15
|
+
* ONI_MODEL / OPENROUTER_MODEL (optional, default: anthropic/claude-sonnet-4)
|
|
16
|
+
*/
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=bin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bin.d.ts","sourceRoot":"","sources":["../../src/oni-code/bin.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;GAcG"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* ONI CLI — bin entry point.
|
|
4
|
+
*
|
|
5
|
+
* Parses CLI args, loads the OpenRouter model adapter, and launches
|
|
6
|
+
* the streaming terminal UI.
|
|
7
|
+
*
|
|
8
|
+
* Usage:
|
|
9
|
+
* oni # interactive mode, cwd
|
|
10
|
+
* oni --auto # auto mode (minimal approvals)
|
|
11
|
+
* oni --dir /path/to/project # explicit root directory
|
|
12
|
+
*
|
|
13
|
+
* Environment:
|
|
14
|
+
* OPENROUTER_API_KEY (required)
|
|
15
|
+
* ONI_MODEL / OPENROUTER_MODEL (optional, default: anthropic/claude-sonnet-4)
|
|
16
|
+
*/
|
|
17
|
+
import { resolve } from "node:path";
|
|
18
|
+
import { startCLI } from "./cli.js";
|
|
19
|
+
import { loadConfig } from "./config.js";
|
|
20
|
+
import { loadProjectEnv } from "./env.js";
|
|
21
|
+
// ── Arg parsing ─────────────────────────────────────────────
|
|
22
|
+
function parseArgs(argv) {
|
|
23
|
+
let dir = process.cwd();
|
|
24
|
+
let mode;
|
|
25
|
+
for (let i = 0; i < argv.length; i++) {
|
|
26
|
+
const arg = argv[i];
|
|
27
|
+
if (arg === "--dir" && argv[i + 1]) {
|
|
28
|
+
dir = resolve(argv[++i]);
|
|
29
|
+
}
|
|
30
|
+
else if (arg === "--auto") {
|
|
31
|
+
mode = "auto";
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return { dir, mode };
|
|
35
|
+
}
|
|
36
|
+
// ── Main ────────────────────────────────────────────────────
|
|
37
|
+
async function main() {
|
|
38
|
+
const args = parseArgs(process.argv.slice(2));
|
|
39
|
+
loadProjectEnv(args.dir);
|
|
40
|
+
const oniConfig = loadConfig(args.dir);
|
|
41
|
+
// ── API key check ───────────────────────────────────────
|
|
42
|
+
const apiKey = process.env["OPENROUTER_API_KEY"];
|
|
43
|
+
if (!apiKey) {
|
|
44
|
+
process.stderr.write("Error: OPENROUTER_API_KEY environment variable is required.\n" +
|
|
45
|
+
"Get one at https://openrouter.ai/keys\n");
|
|
46
|
+
process.exit(1);
|
|
47
|
+
}
|
|
48
|
+
// ── Model ID ────────────────────────────────────────────
|
|
49
|
+
const modelId = process.env["ONI_MODEL"] ??
|
|
50
|
+
process.env["OPENROUTER_MODEL"] ??
|
|
51
|
+
oniConfig.model ??
|
|
52
|
+
"anthropic/claude-sonnet-4";
|
|
53
|
+
// ── Load OpenRouter adapter dynamically ─────────────────
|
|
54
|
+
const { openrouter } = await import("../models/openrouter.js");
|
|
55
|
+
const model = openrouter(modelId);
|
|
56
|
+
const fastModelId = process.env["ONI_FAST_MODEL"] ??
|
|
57
|
+
oniConfig.fastModel ??
|
|
58
|
+
"meta-llama/llama-4-scout";
|
|
59
|
+
const fastModel = openrouter(fastModelId);
|
|
60
|
+
// ── Launch CLI ──────────────────────────────────────────
|
|
61
|
+
await startCLI({
|
|
62
|
+
model,
|
|
63
|
+
fastModel,
|
|
64
|
+
rootDir: args.dir,
|
|
65
|
+
mode: args.mode ?? oniConfig.mode ?? "interactive",
|
|
66
|
+
oniConfig,
|
|
67
|
+
maxTurns: oniConfig.maxTurns,
|
|
68
|
+
maxTokens: oniConfig.maxTokens,
|
|
69
|
+
debug: oniConfig.debug,
|
|
70
|
+
inferenceTimeoutMs: oniConfig.inferenceTimeoutMs,
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
main().catch((err) => {
|
|
74
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
75
|
+
process.stderr.write(`Fatal: ${message}\n`);
|
|
76
|
+
process.exit(1);
|
|
77
|
+
});
|
|
78
|
+
//# sourceMappingURL=bin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../../src/oni-code/bin.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Change Tracking — extracts file change info from tool call results.
|
|
3
|
+
*
|
|
4
|
+
* Used by the Conductor's PostToolUse hook to automatically record
|
|
5
|
+
* which files the agent has created, edited, or deleted during a session.
|
|
6
|
+
*/
|
|
7
|
+
import type { ChangeType } from "./workspace/change-tracker.js";
|
|
8
|
+
export interface FileChange {
|
|
9
|
+
file: string;
|
|
10
|
+
type: ChangeType;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Given a completed tool call (name, input, output), determine if a file
|
|
14
|
+
* was changed and return the change info. Returns null if no file change
|
|
15
|
+
* can be determined (read-only tool, failed mutation, or ambiguous tool).
|
|
16
|
+
*/
|
|
17
|
+
export declare function extractFileChange(toolName: string, input: Record<string, unknown>, output: unknown): FileChange | null;
|
|
18
|
+
/**
|
|
19
|
+
* Extract ALL file changes from a multi_edit result.
|
|
20
|
+
* Returns an array of changes, one per file.
|
|
21
|
+
*/
|
|
22
|
+
export declare function extractMultiEditChanges(output: unknown): FileChange[];
|
|
23
|
+
/**
|
|
24
|
+
* Extract ALL file changes from an apply_patch result.
|
|
25
|
+
* Returns an array of changes, one per file.
|
|
26
|
+
*/
|
|
27
|
+
export declare function extractPatchChanges(output: unknown): FileChange[];
|
|
28
|
+
//# sourceMappingURL=change-tracking.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"change-tracking.d.ts","sourceRoot":"","sources":["../../src/oni-code/change-tracking.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAIhE,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,UAAU,CAAC;CAClB;AAQD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,MAAM,EAAE,OAAO,GACd,UAAU,GAAG,IAAI,CAmCnB;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,OAAO,GACd,UAAU,EAAE,CAQd;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,OAAO,GACd,UAAU,EAAE,CAcd"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Change Tracking — extracts file change info from tool call results.
|
|
3
|
+
*
|
|
4
|
+
* Used by the Conductor's PostToolUse hook to automatically record
|
|
5
|
+
* which files the agent has created, edited, or deleted during a session.
|
|
6
|
+
*/
|
|
7
|
+
// ── Tracked tools ────────────────────────────────────────────
|
|
8
|
+
const MUTATING_TOOLS = new Set(["edit_file", "write_file", "apply_patch", "multi_edit"]);
|
|
9
|
+
// ── Extract ──────────────────────────────────────────────────
|
|
10
|
+
/**
|
|
11
|
+
* Given a completed tool call (name, input, output), determine if a file
|
|
12
|
+
* was changed and return the change info. Returns null if no file change
|
|
13
|
+
* can be determined (read-only tool, failed mutation, or ambiguous tool).
|
|
14
|
+
*/
|
|
15
|
+
export function extractFileChange(toolName, input, output) {
|
|
16
|
+
if (!MUTATING_TOOLS.has(toolName))
|
|
17
|
+
return null;
|
|
18
|
+
const out = output;
|
|
19
|
+
if (!out || out.success !== true)
|
|
20
|
+
return null;
|
|
21
|
+
// multi_edit and apply_patch may modify multiple files — return first for single-change API
|
|
22
|
+
if (toolName === "multi_edit") {
|
|
23
|
+
const modified = out.filesModified;
|
|
24
|
+
if (modified && modified.length > 0) {
|
|
25
|
+
return { file: modified[0], type: "edit" };
|
|
26
|
+
}
|
|
27
|
+
return null;
|
|
28
|
+
}
|
|
29
|
+
if (toolName === "apply_patch") {
|
|
30
|
+
const modified = out.filesModified;
|
|
31
|
+
if (modified && modified.length > 0) {
|
|
32
|
+
const first = modified[0];
|
|
33
|
+
const type = first.operation === "create" ? "create" :
|
|
34
|
+
first.operation === "delete" ? "delete" : "edit";
|
|
35
|
+
return { file: first.path, type };
|
|
36
|
+
}
|
|
37
|
+
return null;
|
|
38
|
+
}
|
|
39
|
+
const file = String(input.path ?? out.path ?? "");
|
|
40
|
+
if (!file)
|
|
41
|
+
return null;
|
|
42
|
+
if (toolName === "write_file") {
|
|
43
|
+
return { file, type: "create" };
|
|
44
|
+
}
|
|
45
|
+
return { file, type: "edit" };
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Extract ALL file changes from a multi_edit result.
|
|
49
|
+
* Returns an array of changes, one per file.
|
|
50
|
+
*/
|
|
51
|
+
export function extractMultiEditChanges(output) {
|
|
52
|
+
const out = output;
|
|
53
|
+
if (!out || out.success !== true)
|
|
54
|
+
return [];
|
|
55
|
+
const modified = out.filesModified;
|
|
56
|
+
if (!modified)
|
|
57
|
+
return [];
|
|
58
|
+
return modified.map((file) => ({ file, type: "edit" }));
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Extract ALL file changes from an apply_patch result.
|
|
62
|
+
* Returns an array of changes, one per file.
|
|
63
|
+
*/
|
|
64
|
+
export function extractPatchChanges(output) {
|
|
65
|
+
const out = output;
|
|
66
|
+
if (!out || out.success !== true)
|
|
67
|
+
return [];
|
|
68
|
+
const modified = out.filesModified;
|
|
69
|
+
if (!modified)
|
|
70
|
+
return [];
|
|
71
|
+
return modified.map((m) => ({
|
|
72
|
+
file: m.path,
|
|
73
|
+
type: (m.operation === "create" ? "create" :
|
|
74
|
+
m.operation === "delete" ? "delete" : "edit"),
|
|
75
|
+
}));
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=change-tracking.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"change-tracking.js","sourceRoot":"","sources":["../../src/oni-code/change-tracking.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/oni-code/cli.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAKtD,wBAAsB,QAAQ,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAuBrE"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ONI CLI — ink-powered terminal UI.
|
|
3
|
+
*/
|
|
4
|
+
import React from "react";
|
|
5
|
+
import { render } from "ink";
|
|
6
|
+
import { App } from "./ui/App.js";
|
|
7
|
+
import { Conductor } from "./conductor.js";
|
|
8
|
+
import { EventBus } from "../events/bus.js";
|
|
9
|
+
import { loadConfig } from "./config.js";
|
|
10
|
+
export async function startCLI(config) {
|
|
11
|
+
const oniConfig = config.oniConfig ?? loadConfig(config.rootDir);
|
|
12
|
+
const eventBus = config.eventBus ?? new EventBus();
|
|
13
|
+
const conductor = new Conductor({
|
|
14
|
+
...config,
|
|
15
|
+
oniConfig,
|
|
16
|
+
eventBus,
|
|
17
|
+
mode: config.mode ?? oniConfig.mode,
|
|
18
|
+
maxTurns: config.maxTurns ?? oniConfig.maxTurns,
|
|
19
|
+
maxTokens: config.maxTokens ?? oniConfig.maxTokens,
|
|
20
|
+
debug: config.debug ?? oniConfig.debug,
|
|
21
|
+
inferenceTimeoutMs: config.inferenceTimeoutMs ?? oniConfig.inferenceTimeoutMs,
|
|
22
|
+
});
|
|
23
|
+
const { waitUntilExit } = render(React.createElement(App, {
|
|
24
|
+
conductor,
|
|
25
|
+
modelId: config.model.modelId ?? "unknown",
|
|
26
|
+
rootDir: config.rootDir,
|
|
27
|
+
}));
|
|
28
|
+
await waitUntilExit();
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=cli.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/oni-code/cli.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAElC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,MAAuB;IACpD,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACjE,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,IAAI,QAAQ,EAAE,CAAC;IACnD,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC;QAC9B,GAAG,MAAM;QACT,SAAS;QACT,QAAQ;QACR,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,SAAS,CAAC,IAAI;QACnC,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,SAAS,CAAC,QAAQ;QAC/C,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,SAAS,CAAC,SAAS;QAClD,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,SAAS,CAAC,KAAK;QACtC,kBAAkB,EAAE,MAAM,CAAC,kBAAkB,IAAI,SAAS,CAAC,kBAAkB;KAC9E,CAAC,CAAC;IAEH,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,CAC9B,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE;QACvB,SAAS;QACT,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,SAAS;QAC1C,OAAO,EAAE,MAAM,CAAC,OAAO;KACxB,CAAC,CACH,CAAC;IAEF,MAAM,aAAa,EAAE,CAAC;AACxB,CAAC"}
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Conductor Agent — the core integration that wires ONIHarness with coding
|
|
3
|
+
* tools, dispatch tools, workspace awareness, and permissions.
|
|
4
|
+
*
|
|
5
|
+
* The Conductor is the main conversational agent for the `oni` CLI. It handles
|
|
6
|
+
* simple tasks directly and escalates to subagents/swarms for complex work.
|
|
7
|
+
*
|
|
8
|
+
* Unlike single-shot harness usage, the Conductor maintains conversation
|
|
9
|
+
* history across turns so the agent remembers prior context.
|
|
10
|
+
*/
|
|
11
|
+
import type { LoopMessage, ToolMetadataUpdate } from "../harness/types.js";
|
|
12
|
+
import type { ONIModel } from "../models/types.js";
|
|
13
|
+
import type { ToolDefinition } from "../tools/types.js";
|
|
14
|
+
import { LSPManager } from "../lsp/index.js";
|
|
15
|
+
import { type SwarmRunner } from "./tools/spawn-swarm.js";
|
|
16
|
+
import { ChangeTracker } from "./workspace/change-tracker.js";
|
|
17
|
+
import { PermissionManager, type PermissionMode, type PermissionDecision } from "./permissions.js";
|
|
18
|
+
import { BackgroundScheduler } from "./scheduler.js";
|
|
19
|
+
import { CronScheduler } from "./cron/index.js";
|
|
20
|
+
import { LoopDetector } from "./loop-detector.js";
|
|
21
|
+
import { AgentRegistry } from "./agent-registry.js";
|
|
22
|
+
import type { ONICodeConfig } from "./config.js";
|
|
23
|
+
import { SessionTree, type BranchInfo } from "./session-fork.js";
|
|
24
|
+
import { TaskEvaluator } from "./task-evaluator.js";
|
|
25
|
+
import { SessionStats } from "./session-stats.js";
|
|
26
|
+
import { EventBus } from "../events/bus.js";
|
|
27
|
+
import { FileWatcher } from "./file-watcher.js";
|
|
28
|
+
import { FileSnapshots } from "./workspace/file-snapshots.js";
|
|
29
|
+
import { SkillLoader } from "../harness/skill-loader.js";
|
|
30
|
+
import { ProgressTracker } from "./progress-tracker.js";
|
|
31
|
+
export interface ConductorConfig {
|
|
32
|
+
model: ONIModel;
|
|
33
|
+
fastModel?: ONIModel;
|
|
34
|
+
rootDir: string;
|
|
35
|
+
mode?: PermissionMode;
|
|
36
|
+
swarmRunner?: SwarmRunner;
|
|
37
|
+
eventBus?: EventBus;
|
|
38
|
+
maxTurns?: number;
|
|
39
|
+
maxTokens?: number;
|
|
40
|
+
debug?: boolean;
|
|
41
|
+
/** Resume a previous session by ID */
|
|
42
|
+
resumeSession?: string;
|
|
43
|
+
/** Loaded ONI config — applies agent definitions, permission rules, swarm defaults */
|
|
44
|
+
oniConfig?: ONICodeConfig;
|
|
45
|
+
/** Custom tools loaded from .oni/tools/ — passed in from bin.ts after async loading */
|
|
46
|
+
customTools?: ToolDefinition[];
|
|
47
|
+
/**
|
|
48
|
+
* Maximum time (ms) to wait for a single model inference call.
|
|
49
|
+
* Prevents the agent from hanging indefinitely on slow/stuck models.
|
|
50
|
+
* Default: 120_000 (2 minutes). Set to 0 to disable.
|
|
51
|
+
*/
|
|
52
|
+
inferenceTimeoutMs?: number;
|
|
53
|
+
}
|
|
54
|
+
export declare class Conductor {
|
|
55
|
+
private readonly config;
|
|
56
|
+
private readonly rootDir;
|
|
57
|
+
private readonly permissions;
|
|
58
|
+
private readonly changeTracker;
|
|
59
|
+
private readonly fileSnapshots;
|
|
60
|
+
private readonly swarmRunner;
|
|
61
|
+
private readonly swarmRunnerPublishesLifecycle;
|
|
62
|
+
private readonly tools;
|
|
63
|
+
private readonly todoModule;
|
|
64
|
+
private readonly hooksEngine;
|
|
65
|
+
private readonly compactor;
|
|
66
|
+
private readonly scheduler;
|
|
67
|
+
private readonly loopDetector;
|
|
68
|
+
private readonly lspManager;
|
|
69
|
+
private readonly cronScheduler;
|
|
70
|
+
readonly agentRegistry: AgentRegistry;
|
|
71
|
+
private readonly taskEvaluator;
|
|
72
|
+
readonly sessionStats: SessionStats;
|
|
73
|
+
private readonly eventBus;
|
|
74
|
+
private readonly fileWatcher;
|
|
75
|
+
private readonly titleGenerator;
|
|
76
|
+
private readonly skillLoader;
|
|
77
|
+
private readonly progressTracker;
|
|
78
|
+
private readonly autoCompactionEnabled;
|
|
79
|
+
/** Cached context files content (CLAUDE.md, AGENTS.md, .cursorrules) */
|
|
80
|
+
private readonly contextFilesBlock;
|
|
81
|
+
/** Prebuilt tool set for subagents — coding + web + custom, no orchestration tools */
|
|
82
|
+
readonly subagentTools: ToolDefinition[];
|
|
83
|
+
/** Accumulated conversation history across turns */
|
|
84
|
+
private conversationHistory;
|
|
85
|
+
private turnCount;
|
|
86
|
+
/** Session tree for branch-based conversation management */
|
|
87
|
+
private readonly sessionTree;
|
|
88
|
+
/** Active agent name — determines system prompt and tool scoping */
|
|
89
|
+
private activeAgent;
|
|
90
|
+
/** Cached assembled system prompt (base + context files + skills). Invalidated on agent switch. */
|
|
91
|
+
private _cachedSystemPrompt;
|
|
92
|
+
private _cachedPromptAgent;
|
|
93
|
+
private _cachedSkillVersion;
|
|
94
|
+
private _projectMapDirty;
|
|
95
|
+
/** Guard: true while chat() generator is executing. Prevents the background
|
|
96
|
+
* scheduler from compacting conversationHistory while the agentLoop holds
|
|
97
|
+
* a reference to it — otherwise the scheduler's compaction gets silently
|
|
98
|
+
* overwritten when the agentLoop yields finalMessages. */
|
|
99
|
+
private _chatActive;
|
|
100
|
+
private _stopNudgeCount;
|
|
101
|
+
/** Session-level circuit breaker: consecutive chat() calls that ended in inference error.
|
|
102
|
+
* After 3 consecutive failures (9+ total retries), we stop attempting inference and
|
|
103
|
+
* tell the user the provider appears down. Resets on any successful inference. */
|
|
104
|
+
private _consecutiveInferenceFailures;
|
|
105
|
+
private static readonly INFERENCE_FAILURE_THRESHOLD;
|
|
106
|
+
private permissionListener;
|
|
107
|
+
private questionListener;
|
|
108
|
+
private toolMetadataListener;
|
|
109
|
+
constructor(config: ConductorConfig);
|
|
110
|
+
chat(message: string, opts?: {
|
|
111
|
+
signal?: AbortSignal;
|
|
112
|
+
}): AsyncGenerator<LoopMessage>;
|
|
113
|
+
chatToResult(message: string): Promise<string>;
|
|
114
|
+
getPermissions(): PermissionManager;
|
|
115
|
+
setPermissionListener(listener: ((toolName: string, args: Record<string, unknown>, resolve: (decision: PermissionDecision) => void) => void) | null): void;
|
|
116
|
+
setQuestionListener(listener: ((question: string, resolve: (answer: string | null) => void) => void) | null): void;
|
|
117
|
+
setToolMetadataListener(listener: ((toolCallId: string, toolName: string, update: ToolMetadataUpdate) => void) | null): void;
|
|
118
|
+
/** Get the active agent name */
|
|
119
|
+
getActiveAgent(): string;
|
|
120
|
+
/** Switch the active agent. Takes effect on the next chat() call. */
|
|
121
|
+
switchAgent(name: string): void;
|
|
122
|
+
/** Get the auto-generated session title (null if not yet generated). */
|
|
123
|
+
getSessionTitle(): string | null;
|
|
124
|
+
getChangeTracker(): ChangeTracker;
|
|
125
|
+
getFileSnapshots(): FileSnapshots;
|
|
126
|
+
getTurnCount(): number;
|
|
127
|
+
/** Get loaded context files content (CLAUDE.md, AGENTS.md, .cursorrules). Empty string if none found. */
|
|
128
|
+
getContextFiles(): string;
|
|
129
|
+
/** Get the durable session progress snapshot used across restarts/compaction. */
|
|
130
|
+
getProgressTracker(): ProgressTracker;
|
|
131
|
+
/** Get the skill loader for external skill registration and invocation */
|
|
132
|
+
getSkillLoader(): SkillLoader;
|
|
133
|
+
/** Get the currently available tool names for UI display. */
|
|
134
|
+
getAvailableToolNames(): string[];
|
|
135
|
+
/** Get the currently loaded skill names for UI display. */
|
|
136
|
+
getAvailableSkillNames(): string[];
|
|
137
|
+
/** Get configured MCP server names from ONI config. */
|
|
138
|
+
getConfiguredMCPServerNames(): string[];
|
|
139
|
+
/** Invoke a skill by name with optional arguments — queues for next turn */
|
|
140
|
+
invokeSkill(name: string, args?: string): boolean;
|
|
141
|
+
getHistoryLength(): number;
|
|
142
|
+
clearHistory(): void;
|
|
143
|
+
/**
|
|
144
|
+
* Fork the current conversation at a specific message index.
|
|
145
|
+
* Creates a new branch with messages [0..atIndex-1].
|
|
146
|
+
* If atIndex is omitted, forks at the current end.
|
|
147
|
+
* Returns the new branch ID.
|
|
148
|
+
*/
|
|
149
|
+
forkSession(atIndex?: number, label?: string): string;
|
|
150
|
+
/**
|
|
151
|
+
* Switch to a different conversation branch.
|
|
152
|
+
* Updates the internal history to the branch's messages.
|
|
153
|
+
*/
|
|
154
|
+
switchBranch(branchId: string): void;
|
|
155
|
+
/**
|
|
156
|
+
* List all conversation branches with summary info.
|
|
157
|
+
*/
|
|
158
|
+
listBranches(): BranchInfo[];
|
|
159
|
+
/**
|
|
160
|
+
* Get the active branch ID.
|
|
161
|
+
*/
|
|
162
|
+
getActiveBranchId(): string;
|
|
163
|
+
/**
|
|
164
|
+
* Delete a branch. Cannot delete the root.
|
|
165
|
+
* If cascade is true, also deletes all children.
|
|
166
|
+
*/
|
|
167
|
+
deleteBranch(branchId: string, cascade?: boolean): boolean;
|
|
168
|
+
/**
|
|
169
|
+
* Get the session tree for advanced operations (serialization, etc.).
|
|
170
|
+
*/
|
|
171
|
+
getSessionTree(): SessionTree;
|
|
172
|
+
/** Get session statistics (tool calls, tokens, compactions, errors). */
|
|
173
|
+
getSessionStats(): SessionStats;
|
|
174
|
+
/** Get the background scheduler for registering periodic tasks. */
|
|
175
|
+
getScheduler(): BackgroundScheduler;
|
|
176
|
+
/** Get the loop detector for inspection or configuration. */
|
|
177
|
+
getLoopDetector(): LoopDetector;
|
|
178
|
+
/** Get the event bus for subscribing to lifecycle events. */
|
|
179
|
+
getEventBus(): EventBus;
|
|
180
|
+
/** Get the file watcher for reactive file change detection. */
|
|
181
|
+
getFileWatcher(): FileWatcher;
|
|
182
|
+
/** Get the cron scheduler for managing recurring prompts. */
|
|
183
|
+
getCronScheduler(): CronScheduler;
|
|
184
|
+
/** Stop all background tasks and release resources.
|
|
185
|
+
* Each cleanup step is isolated — a failure in one (e.g. corrupted
|
|
186
|
+
* file handle, dead LSP process) must not prevent the others from
|
|
187
|
+
* running, or resources leak (timers, child processes, listeners). */
|
|
188
|
+
dispose(): void;
|
|
189
|
+
/** Get the LSP manager for inspection or external use. */
|
|
190
|
+
getLSPManager(): LSPManager;
|
|
191
|
+
/** Get the task evaluator for inspection or testing. */
|
|
192
|
+
getTaskEvaluator(): TaskEvaluator;
|
|
193
|
+
/** Manually trigger context compaction. Returns before/after message counts. */
|
|
194
|
+
compactContext(): Promise<{
|
|
195
|
+
before: number;
|
|
196
|
+
after: number;
|
|
197
|
+
} | null>;
|
|
198
|
+
private runSubagent;
|
|
199
|
+
private buildProjectMapTool;
|
|
200
|
+
private syncProgressSnapshot;
|
|
201
|
+
private persistProgressSnapshot;
|
|
202
|
+
}
|
|
203
|
+
//# sourceMappingURL=conductor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conductor.d.ts","sourceRoot":"","sources":["../../src/oni-code/conductor.ts"],"names":[],"mappings":"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"}
|