@defai.digital/ax-cli 4.4.7 → 4.4.11
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/bin/ax-cli +1 -5
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +158 -9
- package/dist/index.js.map +1 -1
- package/dist/setup.d.ts +27 -0
- package/dist/setup.d.ts.map +1 -0
- package/dist/setup.js +591 -0
- package/dist/setup.js.map +1 -0
- package/package.json +43 -135
- package/LICENSE +0 -22
- package/README.md +0 -420
- package/config-defaults/messages.yaml +0 -75
- package/config-defaults/models.yaml +0 -57
- package/config-defaults/prompts.yaml +0 -948
- package/config-defaults/settings.yaml +0 -157
- package/dist/agent/agent-executor.d.ts +0 -61
- package/dist/agent/agent-executor.js +0 -194
- package/dist/agent/agent-executor.js.map +0 -1
- package/dist/agent/agent-router.d.ts +0 -68
- package/dist/agent/agent-router.js +0 -242
- package/dist/agent/agent-router.js.map +0 -1
- package/dist/agent/context-manager.d.ts +0 -122
- package/dist/agent/context-manager.js +0 -406
- package/dist/agent/context-manager.js.map +0 -1
- package/dist/agent/core/index.d.ts +0 -8
- package/dist/agent/core/index.js +0 -9
- package/dist/agent/core/index.js.map +0 -1
- package/dist/agent/core/types.d.ts +0 -92
- package/dist/agent/core/types.js +0 -11
- package/dist/agent/core/types.js.map +0 -1
- package/dist/agent/dependency-resolver.d.ts +0 -90
- package/dist/agent/dependency-resolver.js +0 -366
- package/dist/agent/dependency-resolver.js.map +0 -1
- package/dist/agent/execution/index.d.ts +0 -9
- package/dist/agent/execution/index.js +0 -9
- package/dist/agent/execution/index.js.map +0 -1
- package/dist/agent/execution/tool-executor.d.ts +0 -93
- package/dist/agent/execution/tool-executor.js +0 -552
- package/dist/agent/execution/tool-executor.js.map +0 -1
- package/dist/agent/index.d.ts +0 -14
- package/dist/agent/index.js +0 -145
- package/dist/agent/index.js.map +0 -1
- package/dist/agent/llm-agent.d.ts +0 -368
- package/dist/agent/llm-agent.js +0 -1931
- package/dist/agent/llm-agent.js.map +0 -1
- package/dist/agent/loop-detector.d.ts +0 -72
- package/dist/agent/loop-detector.js +0 -335
- package/dist/agent/loop-detector.js.map +0 -1
- package/dist/agent/parallel-tools.d.ts +0 -69
- package/dist/agent/parallel-tools.js +0 -188
- package/dist/agent/parallel-tools.js.map +0 -1
- package/dist/agent/planning/index.d.ts +0 -9
- package/dist/agent/planning/index.js +0 -9
- package/dist/agent/planning/index.js.map +0 -1
- package/dist/agent/planning/plan-executor.d.ts +0 -79
- package/dist/agent/planning/plan-executor.js +0 -240
- package/dist/agent/planning/plan-executor.js.map +0 -1
- package/dist/agent/progress-tracker.d.ts +0 -94
- package/dist/agent/progress-tracker.js +0 -225
- package/dist/agent/progress-tracker.js.map +0 -1
- package/dist/agent/specialized/analysis-agent.d.ts +0 -11
- package/dist/agent/specialized/analysis-agent.js +0 -24
- package/dist/agent/specialized/analysis-agent.js.map +0 -1
- package/dist/agent/specialized/debug-agent.d.ts +0 -11
- package/dist/agent/specialized/debug-agent.js +0 -46
- package/dist/agent/specialized/debug-agent.js.map +0 -1
- package/dist/agent/specialized/documentation-agent.d.ts +0 -11
- package/dist/agent/specialized/documentation-agent.js +0 -24
- package/dist/agent/specialized/documentation-agent.js.map +0 -1
- package/dist/agent/specialized/index.d.ts +0 -11
- package/dist/agent/specialized/index.js +0 -12
- package/dist/agent/specialized/index.js.map +0 -1
- package/dist/agent/specialized/performance-agent.d.ts +0 -11
- package/dist/agent/specialized/performance-agent.js +0 -24
- package/dist/agent/specialized/performance-agent.js.map +0 -1
- package/dist/agent/specialized/refactoring-agent.d.ts +0 -11
- package/dist/agent/specialized/refactoring-agent.js +0 -24
- package/dist/agent/specialized/refactoring-agent.js.map +0 -1
- package/dist/agent/specialized/testing-agent.d.ts +0 -11
- package/dist/agent/specialized/testing-agent.js +0 -24
- package/dist/agent/specialized/testing-agent.js.map +0 -1
- package/dist/agent/status-reporter.d.ts +0 -114
- package/dist/agent/status-reporter.js +0 -335
- package/dist/agent/status-reporter.js.map +0 -1
- package/dist/agent/streaming/index.d.ts +0 -9
- package/dist/agent/streaming/index.js +0 -9
- package/dist/agent/streaming/index.js.map +0 -1
- package/dist/agent/streaming/stream-handler.d.ts +0 -62
- package/dist/agent/streaming/stream-handler.js +0 -217
- package/dist/agent/streaming/stream-handler.js.map +0 -1
- package/dist/agent/subagent-orchestrator.d.ts +0 -166
- package/dist/agent/subagent-orchestrator.js +0 -487
- package/dist/agent/subagent-orchestrator.js.map +0 -1
- package/dist/agent/subagent-types.d.ts +0 -261
- package/dist/agent/subagent-types.js +0 -257
- package/dist/agent/subagent-types.js.map +0 -1
- package/dist/agent/subagent.d.ts +0 -116
- package/dist/agent/subagent.js +0 -507
- package/dist/agent/subagent.js.map +0 -1
- package/dist/checkpoint/index.d.ts +0 -9
- package/dist/checkpoint/index.js +0 -11
- package/dist/checkpoint/index.js.map +0 -1
- package/dist/checkpoint/manager.d.ts +0 -101
- package/dist/checkpoint/manager.js +0 -407
- package/dist/checkpoint/manager.js.map +0 -1
- package/dist/checkpoint/storage.d.ts +0 -39
- package/dist/checkpoint/storage.js +0 -350
- package/dist/checkpoint/storage.js.map +0 -1
- package/dist/checkpoint/types.d.ts +0 -111
- package/dist/checkpoint/types.js +0 -17
- package/dist/checkpoint/types.js.map +0 -1
- package/dist/commands/cache.d.ts +0 -7
- package/dist/commands/cache.js +0 -284
- package/dist/commands/cache.js.map +0 -1
- package/dist/commands/custom-commands.d.ts +0 -77
- package/dist/commands/custom-commands.js +0 -251
- package/dist/commands/custom-commands.js.map +0 -1
- package/dist/commands/design.d.ts +0 -18
- package/dist/commands/design.js +0 -511
- package/dist/commands/design.js.map +0 -1
- package/dist/commands/doctor.d.ts +0 -6
- package/dist/commands/doctor.js +0 -773
- package/dist/commands/doctor.js.map +0 -1
- package/dist/commands/frontend.d.ts +0 -9
- package/dist/commands/frontend.js +0 -645
- package/dist/commands/frontend.js.map +0 -1
- package/dist/commands/init/wizard.d.ts +0 -55
- package/dist/commands/init/wizard.js +0 -189
- package/dist/commands/init/wizard.js.map +0 -1
- package/dist/commands/init.d.ts +0 -8
- package/dist/commands/init.js +0 -195
- package/dist/commands/init.js.map +0 -1
- package/dist/commands/mcp-migrate.d.ts +0 -9
- package/dist/commands/mcp-migrate.js +0 -175
- package/dist/commands/mcp-migrate.js.map +0 -1
- package/dist/commands/mcp.d.ts +0 -2
- package/dist/commands/mcp.js +0 -1292
- package/dist/commands/mcp.js.map +0 -1
- package/dist/commands/memory.d.ts +0 -6
- package/dist/commands/memory.js +0 -555
- package/dist/commands/memory.js.map +0 -1
- package/dist/commands/models.d.ts +0 -5
- package/dist/commands/models.js +0 -213
- package/dist/commands/models.js.map +0 -1
- package/dist/commands/plan.d.ts +0 -43
- package/dist/commands/plan.js +0 -362
- package/dist/commands/plan.js.map +0 -1
- package/dist/commands/rewind.d.ts +0 -19
- package/dist/commands/rewind.js +0 -221
- package/dist/commands/rewind.js.map +0 -1
- package/dist/commands/setup.d.ts +0 -14
- package/dist/commands/setup.js +0 -733
- package/dist/commands/setup.js.map +0 -1
- package/dist/commands/status.d.ts +0 -7
- package/dist/commands/status.js +0 -437
- package/dist/commands/status.js.map +0 -1
- package/dist/commands/templates.d.ts +0 -5
- package/dist/commands/templates.js +0 -245
- package/dist/commands/templates.js.map +0 -1
- package/dist/commands/update.d.ts +0 -49
- package/dist/commands/update.js +0 -366
- package/dist/commands/update.js.map +0 -1
- package/dist/commands/usage.d.ts +0 -8
- package/dist/commands/usage.js +0 -264
- package/dist/commands/usage.js.map +0 -1
- package/dist/commands/vscode.d.ts +0 -7
- package/dist/commands/vscode.js +0 -419
- package/dist/commands/vscode.js.map +0 -1
- package/dist/constants.d.ts +0 -236
- package/dist/constants.js +0 -288
- package/dist/constants.js.map +0 -1
- package/dist/design/figma-alias.d.ts +0 -170
- package/dist/design/figma-alias.js +0 -577
- package/dist/design/figma-alias.js.map +0 -1
- package/dist/design/figma-audit.d.ts +0 -40
- package/dist/design/figma-audit.js +0 -383
- package/dist/design/figma-audit.js.map +0 -1
- package/dist/design/figma-client.d.ts +0 -131
- package/dist/design/figma-client.js +0 -369
- package/dist/design/figma-client.js.map +0 -1
- package/dist/design/figma-map.d.ts +0 -29
- package/dist/design/figma-map.js +0 -346
- package/dist/design/figma-map.js.map +0 -1
- package/dist/design/figma-tokens.d.ts +0 -73
- package/dist/design/figma-tokens.js +0 -448
- package/dist/design/figma-tokens.js.map +0 -1
- package/dist/design/index.d.ts +0 -13
- package/dist/design/index.js +0 -20
- package/dist/design/index.js.map +0 -1
- package/dist/design/types.d.ts +0 -98
- package/dist/design/types.js +0 -9
- package/dist/design/types.js.map +0 -1
- package/dist/hooks/hook-runner.d.ts +0 -142
- package/dist/hooks/hook-runner.js +0 -436
- package/dist/hooks/hook-runner.js.map +0 -1
- package/dist/hooks/index.d.ts +0 -9
- package/dist/hooks/index.js +0 -10
- package/dist/hooks/index.js.map +0 -1
- package/dist/hooks/manager.d.ts +0 -84
- package/dist/hooks/manager.js +0 -348
- package/dist/hooks/manager.js.map +0 -1
- package/dist/hooks/types.d.ts +0 -134
- package/dist/hooks/types.js +0 -9
- package/dist/hooks/types.js.map +0 -1
- package/dist/index.d.ts +0 -2
- package/dist/ipc/index.d.ts +0 -9
- package/dist/ipc/index.js +0 -10
- package/dist/ipc/index.js.map +0 -1
- package/dist/ipc/vscode-client.d.ts +0 -200
- package/dist/ipc/vscode-client.js +0 -495
- package/dist/ipc/vscode-client.js.map +0 -1
- package/dist/llm/client.d.ts +0 -205
- package/dist/llm/client.js +0 -735
- package/dist/llm/client.js.map +0 -1
- package/dist/llm/tools.d.ts +0 -102
- package/dist/llm/tools.js +0 -275
- package/dist/llm/tools.js.map +0 -1
- package/dist/llm/types.d.ts +0 -428
- package/dist/llm/types.js +0 -194
- package/dist/llm/types.js.map +0 -1
- package/dist/mcp/automatosx-auto-discovery.d.ts +0 -66
- package/dist/mcp/automatosx-auto-discovery.js +0 -169
- package/dist/mcp/automatosx-auto-discovery.js.map +0 -1
- package/dist/mcp/automatosx-loader.d.ts +0 -99
- package/dist/mcp/automatosx-loader.js +0 -250
- package/dist/mcp/automatosx-loader.js.map +0 -1
- package/dist/mcp/cancellation.d.ts +0 -182
- package/dist/mcp/cancellation.js +0 -275
- package/dist/mcp/cancellation.js.map +0 -1
- package/dist/mcp/client-v2.d.ts +0 -500
- package/dist/mcp/client-v2.js +0 -1433
- package/dist/mcp/client-v2.js.map +0 -1
- package/dist/mcp/client.d.ts +0 -170
- package/dist/mcp/client.js +0 -232
- package/dist/mcp/client.js.map +0 -1
- package/dist/mcp/config-detector.d.ts +0 -90
- package/dist/mcp/config-detector.js +0 -250
- package/dist/mcp/config-detector.js.map +0 -1
- package/dist/mcp/config-migrator.d.ts +0 -68
- package/dist/mcp/config-migrator.js +0 -291
- package/dist/mcp/config-migrator.js.map +0 -1
- package/dist/mcp/config.d.ts +0 -24
- package/dist/mcp/config.js +0 -273
- package/dist/mcp/config.js.map +0 -1
- package/dist/mcp/constants.d.ts +0 -66
- package/dist/mcp/constants.js +0 -85
- package/dist/mcp/constants.js.map +0 -1
- package/dist/mcp/content-length-transport.d.ts +0 -106
- package/dist/mcp/content-length-transport.js +0 -413
- package/dist/mcp/content-length-transport.js.map +0 -1
- package/dist/mcp/debug.d.ts +0 -211
- package/dist/mcp/debug.js +0 -404
- package/dist/mcp/debug.js.map +0 -1
- package/dist/mcp/error-formatter.d.ts +0 -40
- package/dist/mcp/error-formatter.js +0 -207
- package/dist/mcp/error-formatter.js.map +0 -1
- package/dist/mcp/error-remediation.d.ts +0 -45
- package/dist/mcp/error-remediation.js +0 -291
- package/dist/mcp/error-remediation.js.map +0 -1
- package/dist/mcp/health.d.ts +0 -120
- package/dist/mcp/health.js +0 -267
- package/dist/mcp/health.js.map +0 -1
- package/dist/mcp/index.d.ts +0 -56
- package/dist/mcp/index.js +0 -89
- package/dist/mcp/index.js.map +0 -1
- package/dist/mcp/invariants.d.ts +0 -141
- package/dist/mcp/invariants.js +0 -243
- package/dist/mcp/invariants.js.map +0 -1
- package/dist/mcp/mutex-safe.d.ts +0 -151
- package/dist/mcp/mutex-safe.js +0 -260
- package/dist/mcp/mutex-safe.js.map +0 -1
- package/dist/mcp/progress.d.ts +0 -155
- package/dist/mcp/progress.js +0 -252
- package/dist/mcp/progress.js.map +0 -1
- package/dist/mcp/prompts.d.ts +0 -68
- package/dist/mcp/prompts.js +0 -129
- package/dist/mcp/prompts.js.map +0 -1
- package/dist/mcp/provider-mcp-loader.d.ts +0 -130
- package/dist/mcp/provider-mcp-loader.js +0 -292
- package/dist/mcp/provider-mcp-loader.js.map +0 -1
- package/dist/mcp/reconnection.d.ts +0 -101
- package/dist/mcp/reconnection.js +0 -253
- package/dist/mcp/reconnection.js.map +0 -1
- package/dist/mcp/registry.d.ts +0 -75
- package/dist/mcp/registry.js +0 -276
- package/dist/mcp/registry.js.map +0 -1
- package/dist/mcp/resources.d.ts +0 -58
- package/dist/mcp/resources.js +0 -144
- package/dist/mcp/resources.js.map +0 -1
- package/dist/mcp/schema-validator.d.ts +0 -82
- package/dist/mcp/schema-validator.js +0 -161
- package/dist/mcp/schema-validator.js.map +0 -1
- package/dist/mcp/ssrf-protection.d.ts +0 -86
- package/dist/mcp/ssrf-protection.js +0 -311
- package/dist/mcp/ssrf-protection.js.map +0 -1
- package/dist/mcp/subscriptions.d.ts +0 -168
- package/dist/mcp/subscriptions.js +0 -248
- package/dist/mcp/subscriptions.js.map +0 -1
- package/dist/mcp/templates.d.ts +0 -52
- package/dist/mcp/templates.js +0 -627
- package/dist/mcp/templates.js.map +0 -1
- package/dist/mcp/transports.d.ts +0 -80
- package/dist/mcp/transports.js +0 -237
- package/dist/mcp/transports.js.map +0 -1
- package/dist/mcp/type-safety.d.ts +0 -225
- package/dist/mcp/type-safety.js +0 -237
- package/dist/mcp/type-safety.js.map +0 -1
- package/dist/mcp/validation.d.ts +0 -29
- package/dist/mcp/validation.js +0 -339
- package/dist/mcp/validation.js.map +0 -1
- package/dist/mcp/zai-detector.d.ts +0 -63
- package/dist/mcp/zai-detector.js +0 -193
- package/dist/mcp/zai-detector.js.map +0 -1
- package/dist/mcp/zai-templates.d.ts +0 -90
- package/dist/mcp/zai-templates.js +0 -157
- package/dist/mcp/zai-templates.js.map +0 -1
- package/dist/memory/context-generator.d.ts +0 -84
- package/dist/memory/context-generator.js +0 -546
- package/dist/memory/context-generator.js.map +0 -1
- package/dist/memory/context-injector.d.ts +0 -97
- package/dist/memory/context-injector.js +0 -159
- package/dist/memory/context-injector.js.map +0 -1
- package/dist/memory/context-store.d.ts +0 -103
- package/dist/memory/context-store.js +0 -264
- package/dist/memory/context-store.js.map +0 -1
- package/dist/memory/index.d.ts +0 -43
- package/dist/memory/index.js +0 -49
- package/dist/memory/index.js.map +0 -1
- package/dist/memory/provider-context-store.d.ts +0 -127
- package/dist/memory/provider-context-store.js +0 -385
- package/dist/memory/provider-context-store.js.map +0 -1
- package/dist/memory/schemas.d.ts +0 -118
- package/dist/memory/schemas.js +0 -106
- package/dist/memory/schemas.js.map +0 -1
- package/dist/memory/stats-collector.d.ts +0 -73
- package/dist/memory/stats-collector.js +0 -170
- package/dist/memory/stats-collector.js.map +0 -1
- package/dist/memory/types.d.ts +0 -177
- package/dist/memory/types.js +0 -73
- package/dist/memory/types.js.map +0 -1
- package/dist/permissions/index.d.ts +0 -6
- package/dist/permissions/index.js +0 -7
- package/dist/permissions/index.js.map +0 -1
- package/dist/permissions/permission-manager.d.ts +0 -149
- package/dist/permissions/permission-manager.js +0 -410
- package/dist/permissions/permission-manager.js.map +0 -1
- package/dist/planner/dependency-resolver.d.ts +0 -72
- package/dist/planner/dependency-resolver.js +0 -272
- package/dist/planner/dependency-resolver.js.map +0 -1
- package/dist/planner/index.d.ts +0 -12
- package/dist/planner/index.js +0 -28
- package/dist/planner/index.js.map +0 -1
- package/dist/planner/plan-generator.d.ts +0 -74
- package/dist/planner/plan-generator.js +0 -244
- package/dist/planner/plan-generator.js.map +0 -1
- package/dist/planner/plan-storage.d.ts +0 -113
- package/dist/planner/plan-storage.js +0 -398
- package/dist/planner/plan-storage.js.map +0 -1
- package/dist/planner/prompts/planning-prompt.d.ts +0 -62
- package/dist/planner/prompts/planning-prompt.js +0 -414
- package/dist/planner/prompts/planning-prompt.js.map +0 -1
- package/dist/planner/task-planner.d.ts +0 -139
- package/dist/planner/task-planner.js +0 -532
- package/dist/planner/task-planner.js.map +0 -1
- package/dist/planner/token-estimator.d.ts +0 -63
- package/dist/planner/token-estimator.js +0 -295
- package/dist/planner/token-estimator.js.map +0 -1
- package/dist/planner/types.d.ts +0 -425
- package/dist/planner/types.js +0 -213
- package/dist/planner/types.js.map +0 -1
- package/dist/provider/config.d.ts +0 -227
- package/dist/provider/config.js +0 -430
- package/dist/provider/config.js.map +0 -1
- package/dist/schemas/api-schemas.d.ts +0 -45
- package/dist/schemas/api-schemas.js +0 -129
- package/dist/schemas/api-schemas.js.map +0 -1
- package/dist/schemas/confirmation-schemas.d.ts +0 -39
- package/dist/schemas/confirmation-schemas.js +0 -48
- package/dist/schemas/confirmation-schemas.js.map +0 -1
- package/dist/schemas/index-unified.d.ts +0 -12
- package/dist/schemas/index-unified.js +0 -17
- package/dist/schemas/index-unified.js.map +0 -1
- package/dist/schemas/index.d.ts +0 -83
- package/dist/schemas/index.js +0 -139
- package/dist/schemas/index.js.map +0 -1
- package/dist/schemas/settings-schemas.d.ts +0 -186
- package/dist/schemas/settings-schemas.js +0 -324
- package/dist/schemas/settings-schemas.js.map +0 -1
- package/dist/schemas/tool-schemas.d.ts +0 -127
- package/dist/schemas/tool-schemas.js +0 -84
- package/dist/schemas/tool-schemas.js.map +0 -1
- package/dist/schemas/yaml-schemas.d.ts +0 -231
- package/dist/schemas/yaml-schemas.js +0 -199
- package/dist/schemas/yaml-schemas.js.map +0 -1
- package/dist/sdk/errors.d.ts +0 -100
- package/dist/sdk/errors.js +0 -138
- package/dist/sdk/errors.js.map +0 -1
- package/dist/sdk/index.d.ts +0 -901
- package/dist/sdk/index.js +0 -1272
- package/dist/sdk/index.js.map +0 -1
- package/dist/sdk/progress-reporter.d.ts +0 -123
- package/dist/sdk/progress-reporter.js +0 -220
- package/dist/sdk/progress-reporter.js.map +0 -1
- package/dist/sdk/testing.d.ts +0 -427
- package/dist/sdk/testing.js +0 -725
- package/dist/sdk/testing.js.map +0 -1
- package/dist/sdk/tool-registry.d.ts +0 -194
- package/dist/sdk/tool-registry.js +0 -326
- package/dist/sdk/tool-registry.js.map +0 -1
- package/dist/sdk/types.d.ts +0 -53
- package/dist/sdk/types.js +0 -8
- package/dist/sdk/types.js.map +0 -1
- package/dist/sdk/unified-logger.d.ts +0 -173
- package/dist/sdk/unified-logger.js +0 -327
- package/dist/sdk/unified-logger.js.map +0 -1
- package/dist/sdk/version.d.ts +0 -163
- package/dist/sdk/version.js +0 -205
- package/dist/sdk/version.js.map +0 -1
- package/dist/tools/ask-user.d.ts +0 -126
- package/dist/tools/ask-user.js +0 -290
- package/dist/tools/ask-user.js.map +0 -1
- package/dist/tools/ax-agent.d.ts +0 -71
- package/dist/tools/ax-agent.js +0 -283
- package/dist/tools/ax-agent.js.map +0 -1
- package/dist/tools/bash-output.d.ts +0 -25
- package/dist/tools/bash-output.js +0 -146
- package/dist/tools/bash-output.js.map +0 -1
- package/dist/tools/bash.d.ts +0 -67
- package/dist/tools/bash.js +0 -522
- package/dist/tools/bash.js.map +0 -1
- package/dist/tools/confirmation-tool.d.ts +0 -16
- package/dist/tools/confirmation-tool.js +0 -76
- package/dist/tools/confirmation-tool.js.map +0 -1
- package/dist/tools/definitions/ask-user.d.ts +0 -8
- package/dist/tools/definitions/ask-user.js +0 -168
- package/dist/tools/definitions/ask-user.js.map +0 -1
- package/dist/tools/definitions/ax-agent.d.ts +0 -8
- package/dist/tools/definitions/ax-agent.js +0 -276
- package/dist/tools/definitions/ax-agent.js.map +0 -1
- package/dist/tools/definitions/bash-output.d.ts +0 -7
- package/dist/tools/definitions/bash-output.js +0 -78
- package/dist/tools/definitions/bash-output.js.map +0 -1
- package/dist/tools/definitions/bash.d.ts +0 -8
- package/dist/tools/definitions/bash.js +0 -152
- package/dist/tools/definitions/bash.js.map +0 -1
- package/dist/tools/definitions/create-file.d.ts +0 -7
- package/dist/tools/definitions/create-file.js +0 -129
- package/dist/tools/definitions/create-file.js.map +0 -1
- package/dist/tools/definitions/design.d.ts +0 -12
- package/dist/tools/definitions/design.js +0 -368
- package/dist/tools/definitions/design.js.map +0 -1
- package/dist/tools/definitions/index.d.ts +0 -49
- package/dist/tools/definitions/index.js +0 -87
- package/dist/tools/definitions/index.js.map +0 -1
- package/dist/tools/definitions/multi-edit.d.ts +0 -7
- package/dist/tools/definitions/multi-edit.js +0 -123
- package/dist/tools/definitions/multi-edit.js.map +0 -1
- package/dist/tools/definitions/search.d.ts +0 -7
- package/dist/tools/definitions/search.js +0 -159
- package/dist/tools/definitions/search.js.map +0 -1
- package/dist/tools/definitions/str-replace-editor.d.ts +0 -7
- package/dist/tools/definitions/str-replace-editor.js +0 -145
- package/dist/tools/definitions/str-replace-editor.js.map +0 -1
- package/dist/tools/definitions/todo.d.ts +0 -8
- package/dist/tools/definitions/todo.js +0 -261
- package/dist/tools/definitions/todo.js.map +0 -1
- package/dist/tools/definitions/view-file.d.ts +0 -7
- package/dist/tools/definitions/view-file.js +0 -111
- package/dist/tools/definitions/view-file.js.map +0 -1
- package/dist/tools/design-tool.d.ts +0 -68
- package/dist/tools/design-tool.js +0 -299
- package/dist/tools/design-tool.js.map +0 -1
- package/dist/tools/format-generators.d.ts +0 -62
- package/dist/tools/format-generators.js +0 -291
- package/dist/tools/format-generators.js.map +0 -1
- package/dist/tools/index.d.ts +0 -8
- package/dist/tools/index.js +0 -11
- package/dist/tools/index.js.map +0 -1
- package/dist/tools/priority-registry.d.ts +0 -124
- package/dist/tools/priority-registry.js +0 -401
- package/dist/tools/priority-registry.js.map +0 -1
- package/dist/tools/priority.d.ts +0 -158
- package/dist/tools/priority.js +0 -350
- package/dist/tools/priority.js.map +0 -1
- package/dist/tools/registry.d.ts +0 -146
- package/dist/tools/registry.js +0 -171
- package/dist/tools/registry.js.map +0 -1
- package/dist/tools/search.d.ts +0 -85
- package/dist/tools/search.js +0 -430
- package/dist/tools/search.js.map +0 -1
- package/dist/tools/text-editor.d.ts +0 -87
- package/dist/tools/text-editor.js +0 -1369
- package/dist/tools/text-editor.js.map +0 -1
- package/dist/tools/todo-tool.d.ts +0 -20
- package/dist/tools/todo-tool.js +0 -186
- package/dist/tools/todo-tool.js.map +0 -1
- package/dist/tools/types.d.ts +0 -175
- package/dist/tools/types.js +0 -11
- package/dist/tools/types.js.map +0 -1
- package/dist/types/index.d.ts +0 -30
- package/dist/types/index.js +0 -2
- package/dist/types/index.js.map +0 -1
- package/dist/types/project-analysis.d.ts +0 -84
- package/dist/types/project-analysis.js +0 -5
- package/dist/types/project-analysis.js.map +0 -1
- package/dist/types/template.d.ts +0 -53
- package/dist/types/template.js +0 -5
- package/dist/types/template.js.map +0 -1
- package/dist/ui/app.d.ts +0 -7
- package/dist/ui/app.js +0 -102
- package/dist/ui/app.js.map +0 -1
- package/dist/ui/components/api-key-input.d.ts +0 -7
- package/dist/ui/components/api-key-input.js +0 -92
- package/dist/ui/components/api-key-input.js.map +0 -1
- package/dist/ui/components/chat-history.d.ts +0 -12
- package/dist/ui/components/chat-history.js +0 -391
- package/dist/ui/components/chat-history.js.map +0 -1
- package/dist/ui/components/chat-input.d.ts +0 -13
- package/dist/ui/components/chat-input.js +0 -179
- package/dist/ui/components/chat-input.js.map +0 -1
- package/dist/ui/components/chat-interface.d.ts +0 -11
- package/dist/ui/components/chat-interface.js +0 -830
- package/dist/ui/components/chat-interface.js.map +0 -1
- package/dist/ui/components/collapsible-tool-result.d.ts +0 -42
- package/dist/ui/components/collapsible-tool-result.js +0 -216
- package/dist/ui/components/collapsible-tool-result.js.map +0 -1
- package/dist/ui/components/command-suggestions.d.ts +0 -29
- package/dist/ui/components/command-suggestions.js +0 -88
- package/dist/ui/components/command-suggestions.js.map +0 -1
- package/dist/ui/components/confirmation-dialog.d.ts +0 -11
- package/dist/ui/components/confirmation-dialog.js +0 -100
- package/dist/ui/components/confirmation-dialog.js.map +0 -1
- package/dist/ui/components/context-breakdown.d.ts +0 -23
- package/dist/ui/components/context-breakdown.js +0 -124
- package/dist/ui/components/context-breakdown.js.map +0 -1
- package/dist/ui/components/diff-renderer.d.ts +0 -13
- package/dist/ui/components/diff-renderer.js +0 -192
- package/dist/ui/components/diff-renderer.js.map +0 -1
- package/dist/ui/components/index.d.ts +0 -18
- package/dist/ui/components/index.js +0 -20
- package/dist/ui/components/index.js.map +0 -1
- package/dist/ui/components/keyboard-help.d.ts +0 -17
- package/dist/ui/components/keyboard-help.js +0 -122
- package/dist/ui/components/keyboard-help.js.map +0 -1
- package/dist/ui/components/keyboard-hints.d.ts +0 -35
- package/dist/ui/components/keyboard-hints.js +0 -142
- package/dist/ui/components/keyboard-hints.js.map +0 -1
- package/dist/ui/components/loading-spinner.d.ts +0 -9
- package/dist/ui/components/loading-spinner.js +0 -120
- package/dist/ui/components/loading-spinner.js.map +0 -1
- package/dist/ui/components/mcp-dashboard.d.ts +0 -15
- package/dist/ui/components/mcp-dashboard.js +0 -520
- package/dist/ui/components/mcp-dashboard.js.map +0 -1
- package/dist/ui/components/mcp-status.d.ts +0 -5
- package/dist/ui/components/mcp-status.js +0 -58
- package/dist/ui/components/mcp-status.js.map +0 -1
- package/dist/ui/components/model-selection.d.ts +0 -12
- package/dist/ui/components/model-selection.js +0 -17
- package/dist/ui/components/model-selection.js.map +0 -1
- package/dist/ui/components/phase-progress.d.ts +0 -21
- package/dist/ui/components/phase-progress.js +0 -185
- package/dist/ui/components/phase-progress.js.map +0 -1
- package/dist/ui/components/question-dialog.d.ts +0 -17
- package/dist/ui/components/question-dialog.js +0 -181
- package/dist/ui/components/question-dialog.js.map +0 -1
- package/dist/ui/components/quick-actions.d.ts +0 -12
- package/dist/ui/components/quick-actions.js +0 -171
- package/dist/ui/components/quick-actions.js.map +0 -1
- package/dist/ui/components/reasoning-display.d.ts +0 -36
- package/dist/ui/components/reasoning-display.js +0 -46
- package/dist/ui/components/reasoning-display.js.map +0 -1
- package/dist/ui/components/status-bar.d.ts +0 -47
- package/dist/ui/components/status-bar.js +0 -310
- package/dist/ui/components/status-bar.js.map +0 -1
- package/dist/ui/components/subagent-monitor.d.ts +0 -41
- package/dist/ui/components/subagent-monitor.js +0 -122
- package/dist/ui/components/subagent-monitor.js.map +0 -1
- package/dist/ui/components/toast-notification.d.ts +0 -197
- package/dist/ui/components/toast-notification.js +0 -190
- package/dist/ui/components/toast-notification.js.map +0 -1
- package/dist/ui/components/tool-group-display.d.ts +0 -19
- package/dist/ui/components/tool-group-display.js +0 -222
- package/dist/ui/components/tool-group-display.js.map +0 -1
- package/dist/ui/components/virtualized-chat-history.d.ts +0 -33
- package/dist/ui/components/virtualized-chat-history.js +0 -182
- package/dist/ui/components/virtualized-chat-history.js.map +0 -1
- package/dist/ui/components/welcome-panel.d.ts +0 -11
- package/dist/ui/components/welcome-panel.js +0 -225
- package/dist/ui/components/welcome-panel.js.map +0 -1
- package/dist/ui/hooks/use-chat-reducer.d.ts +0 -69
- package/dist/ui/hooks/use-chat-reducer.js +0 -118
- package/dist/ui/hooks/use-chat-reducer.js.map +0 -1
- package/dist/ui/hooks/use-enhanced-input.d.ts +0 -53
- package/dist/ui/hooks/use-enhanced-input.js +0 -1275
- package/dist/ui/hooks/use-enhanced-input.js.map +0 -1
- package/dist/ui/hooks/use-input-handler.d.ts +0 -79
- package/dist/ui/hooks/use-input-handler.js +0 -2251
- package/dist/ui/hooks/use-input-handler.js.map +0 -1
- package/dist/ui/hooks/use-input-history.d.ts +0 -9
- package/dist/ui/hooks/use-input-history.js +0 -168
- package/dist/ui/hooks/use-input-history.js.map +0 -1
- package/dist/ui/shared/max-sized-box.d.ts +0 -17
- package/dist/ui/shared/max-sized-box.js +0 -14
- package/dist/ui/shared/max-sized-box.js.map +0 -1
- package/dist/ui/themes/index.d.ts +0 -5
- package/dist/ui/themes/index.js +0 -5
- package/dist/ui/themes/index.js.map +0 -1
- package/dist/ui/themes/theme-registry.d.ts +0 -55
- package/dist/ui/themes/theme-registry.js +0 -202
- package/dist/ui/themes/theme-registry.js.map +0 -1
- package/dist/ui/utils/bracketed-paste-handler.d.ts +0 -97
- package/dist/ui/utils/bracketed-paste-handler.js +0 -322
- package/dist/ui/utils/bracketed-paste-handler.js.map +0 -1
- package/dist/ui/utils/change-summarizer.d.ts +0 -20
- package/dist/ui/utils/change-summarizer.js +0 -282
- package/dist/ui/utils/change-summarizer.js.map +0 -1
- package/dist/ui/utils/code-colorizer.d.ts +0 -9
- package/dist/ui/utils/code-colorizer.js +0 -13
- package/dist/ui/utils/code-colorizer.js.map +0 -1
- package/dist/ui/utils/colors.d.ts +0 -41
- package/dist/ui/utils/colors.js +0 -80
- package/dist/ui/utils/colors.js.map +0 -1
- package/dist/ui/utils/image-handler.d.ts +0 -29
- package/dist/ui/utils/image-handler.js +0 -129
- package/dist/ui/utils/image-handler.js.map +0 -1
- package/dist/ui/utils/markdown-renderer.d.ts +0 -4
- package/dist/ui/utils/markdown-renderer.js +0 -40
- package/dist/ui/utils/markdown-renderer.js.map +0 -1
- package/dist/ui/utils/semantic-action-detector.d.ts +0 -49
- package/dist/ui/utils/semantic-action-detector.js +0 -339
- package/dist/ui/utils/semantic-action-detector.js.map +0 -1
- package/dist/ui/utils/tool-grouper.d.ts +0 -94
- package/dist/ui/utils/tool-grouper.js +0 -618
- package/dist/ui/utils/tool-grouper.js.map +0 -1
- package/dist/utils/api-error.d.ts +0 -61
- package/dist/utils/api-error.js +0 -176
- package/dist/utils/api-error.js.map +0 -1
- package/dist/utils/audit-logger.d.ts +0 -206
- package/dist/utils/audit-logger.js +0 -286
- package/dist/utils/audit-logger.js.map +0 -1
- package/dist/utils/auto-accept-logger.d.ts +0 -175
- package/dist/utils/auto-accept-logger.js +0 -423
- package/dist/utils/auto-accept-logger.js.map +0 -1
- package/dist/utils/automatosx-detector.d.ts +0 -19
- package/dist/utils/automatosx-detector.js +0 -52
- package/dist/utils/automatosx-detector.js.map +0 -1
- package/dist/utils/background-task-manager.d.ts +0 -114
- package/dist/utils/background-task-manager.js +0 -470
- package/dist/utils/background-task-manager.js.map +0 -1
- package/dist/utils/cache.d.ts +0 -77
- package/dist/utils/cache.js +0 -180
- package/dist/utils/cache.js.map +0 -1
- package/dist/utils/command-security.d.ts +0 -85
- package/dist/utils/command-security.js +0 -210
- package/dist/utils/command-security.js.map +0 -1
- package/dist/utils/config-loader.d.ts +0 -190
- package/dist/utils/config-loader.js +0 -108
- package/dist/utils/config-loader.js.map +0 -1
- package/dist/utils/confirmation-service.d.ts +0 -51
- package/dist/utils/confirmation-service.js +0 -220
- package/dist/utils/confirmation-service.js.map +0 -1
- package/dist/utils/console-messenger.d.ts +0 -80
- package/dist/utils/console-messenger.js +0 -142
- package/dist/utils/console-messenger.js.map +0 -1
- package/dist/utils/custom-instructions.d.ts +0 -1
- package/dist/utils/custom-instructions.js +0 -24
- package/dist/utils/custom-instructions.js.map +0 -1
- package/dist/utils/encryption.d.ts +0 -86
- package/dist/utils/encryption.js +0 -236
- package/dist/utils/encryption.js.map +0 -1
- package/dist/utils/enhanced-error-messages.d.ts +0 -33
- package/dist/utils/enhanced-error-messages.js +0 -440
- package/dist/utils/enhanced-error-messages.js.map +0 -1
- package/dist/utils/error-handler.d.ts +0 -65
- package/dist/utils/error-handler.js +0 -148
- package/dist/utils/error-handler.js.map +0 -1
- package/dist/utils/error-translator.d.ts +0 -25
- package/dist/utils/error-translator.js +0 -203
- package/dist/utils/error-translator.js.map +0 -1
- package/dist/utils/external-editor.d.ts +0 -47
- package/dist/utils/external-editor.js +0 -179
- package/dist/utils/external-editor.js.map +0 -1
- package/dist/utils/file-cache.d.ts +0 -148
- package/dist/utils/file-cache.js +0 -413
- package/dist/utils/file-cache.js.map +0 -1
- package/dist/utils/file-lock.d.ts +0 -141
- package/dist/utils/file-lock.js +0 -554
- package/dist/utils/file-lock.js.map +0 -1
- package/dist/utils/file-mentions.d.ts +0 -68
- package/dist/utils/file-mentions.js +0 -225
- package/dist/utils/file-mentions.js.map +0 -1
- package/dist/utils/history-manager.d.ts +0 -52
- package/dist/utils/history-manager.js +0 -211
- package/dist/utils/history-manager.js.map +0 -1
- package/dist/utils/history-migration.d.ts +0 -9
- package/dist/utils/history-migration.js +0 -37
- package/dist/utils/history-migration.js.map +0 -1
- package/dist/utils/image-processor.d.ts +0 -33
- package/dist/utils/image-processor.js +0 -124
- package/dist/utils/image-processor.js.map +0 -1
- package/dist/utils/index.d.ts +0 -92
- package/dist/utils/index.js +0 -111
- package/dist/utils/index.js.map +0 -1
- package/dist/utils/init-previewer.d.ts +0 -56
- package/dist/utils/init-previewer.js +0 -239
- package/dist/utils/init-previewer.js.map +0 -1
- package/dist/utils/init-validator.d.ts +0 -65
- package/dist/utils/init-validator.js +0 -252
- package/dist/utils/init-validator.js.map +0 -1
- package/dist/utils/input-sanitizer.d.ts +0 -210
- package/dist/utils/input-sanitizer.js +0 -362
- package/dist/utils/input-sanitizer.js.map +0 -1
- package/dist/utils/instruction-generator.d.ts +0 -21
- package/dist/utils/instruction-generator.js +0 -233
- package/dist/utils/instruction-generator.js.map +0 -1
- package/dist/utils/json-utils.d.ts +0 -72
- package/dist/utils/json-utils.js +0 -226
- package/dist/utils/json-utils.js.map +0 -1
- package/dist/utils/llm-optimized-instruction-generator.d.ts +0 -36
- package/dist/utils/llm-optimized-instruction-generator.js +0 -365
- package/dist/utils/llm-optimized-instruction-generator.js.map +0 -1
- package/dist/utils/message-optimizer.d.ts +0 -100
- package/dist/utils/message-optimizer.js +0 -297
- package/dist/utils/message-optimizer.js.map +0 -1
- package/dist/utils/onboarding-manager.d.ts +0 -45
- package/dist/utils/onboarding-manager.js +0 -131
- package/dist/utils/onboarding-manager.js.map +0 -1
- package/dist/utils/parallel-analyzer.d.ts +0 -123
- package/dist/utils/parallel-analyzer.js +0 -241
- package/dist/utils/parallel-analyzer.js.map +0 -1
- package/dist/utils/paste-utils.d.ts +0 -99
- package/dist/utils/paste-utils.js +0 -295
- package/dist/utils/paste-utils.js.map +0 -1
- package/dist/utils/path-helpers.d.ts +0 -8
- package/dist/utils/path-helpers.js +0 -35
- package/dist/utils/path-helpers.js.map +0 -1
- package/dist/utils/path-security.d.ts +0 -92
- package/dist/utils/path-security.js +0 -300
- package/dist/utils/path-security.js.map +0 -1
- package/dist/utils/path-utils.d.ts +0 -83
- package/dist/utils/path-utils.js +0 -122
- package/dist/utils/path-utils.js.map +0 -1
- package/dist/utils/path-validator.d.ts +0 -66
- package/dist/utils/path-validator.js +0 -141
- package/dist/utils/path-validator.js.map +0 -1
- package/dist/utils/performance.d.ts +0 -74
- package/dist/utils/performance.js +0 -133
- package/dist/utils/performance.js.map +0 -1
- package/dist/utils/process-pool.d.ts +0 -109
- package/dist/utils/process-pool.js +0 -332
- package/dist/utils/process-pool.js.map +0 -1
- package/dist/utils/progress-tracker.d.ts +0 -51
- package/dist/utils/progress-tracker.js +0 -152
- package/dist/utils/progress-tracker.js.map +0 -1
- package/dist/utils/project-analyzer.d.ts +0 -49
- package/dist/utils/project-analyzer.js +0 -396
- package/dist/utils/project-analyzer.js.map +0 -1
- package/dist/utils/prompt-builder.d.ts +0 -14
- package/dist/utils/prompt-builder.js +0 -100
- package/dist/utils/prompt-builder.js.map +0 -1
- package/dist/utils/provider-context.d.ts +0 -243
- package/dist/utils/provider-context.js +0 -421
- package/dist/utils/provider-context.js.map +0 -1
- package/dist/utils/provider-file-cache.d.ts +0 -91
- package/dist/utils/provider-file-cache.js +0 -165
- package/dist/utils/provider-file-cache.js.map +0 -1
- package/dist/utils/provider-settings.d.ts +0 -181
- package/dist/utils/provider-settings.js +0 -450
- package/dist/utils/provider-settings.js.map +0 -1
- package/dist/utils/rate-limiter.d.ts +0 -222
- package/dist/utils/rate-limiter.js +0 -338
- package/dist/utils/rate-limiter.js.map +0 -1
- package/dist/utils/retry-helper.d.ts +0 -81
- package/dist/utils/retry-helper.js +0 -244
- package/dist/utils/retry-helper.js.map +0 -1
- package/dist/utils/safety-rules.d.ts +0 -64
- package/dist/utils/safety-rules.js +0 -225
- package/dist/utils/safety-rules.js.map +0 -1
- package/dist/utils/settings-manager.d.ts +0 -256
- package/dist/utils/settings-manager.js +0 -967
- package/dist/utils/settings-manager.js.map +0 -1
- package/dist/utils/setup-validator.d.ts +0 -47
- package/dist/utils/setup-validator.js +0 -304
- package/dist/utils/setup-validator.js.map +0 -1
- package/dist/utils/string-utils.d.ts +0 -19
- package/dist/utils/string-utils.js +0 -28
- package/dist/utils/string-utils.js.map +0 -1
- package/dist/utils/template-manager.d.ts +0 -62
- package/dist/utils/template-manager.js +0 -366
- package/dist/utils/template-manager.js.map +0 -1
- package/dist/utils/text-utils.d.ts +0 -82
- package/dist/utils/text-utils.js +0 -203
- package/dist/utils/text-utils.js.map +0 -1
- package/dist/utils/token-counter.d.ts +0 -76
- package/dist/utils/token-counter.js +0 -231
- package/dist/utils/token-counter.js.map +0 -1
- package/dist/utils/usage-tracker.d.ts +0 -78
- package/dist/utils/usage-tracker.js +0 -126
- package/dist/utils/usage-tracker.js.map +0 -1
- package/dist/utils/version.d.ts +0 -14
- package/dist/utils/version.js +0 -70
- package/dist/utils/version.js.map +0 -1
|
@@ -1,166 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Subagent Orchestrator
|
|
3
|
-
*
|
|
4
|
-
* Manages the lifecycle of subagents and coordinates parallel task execution.
|
|
5
|
-
* Handles spawning, delegation, dependency resolution, and result aggregation.
|
|
6
|
-
*/
|
|
7
|
-
import { EventEmitter } from 'events';
|
|
8
|
-
import { Subagent } from './subagent.js';
|
|
9
|
-
import type { SubagentConfig, SubagentTask, SubagentResult, SubagentStatus } from './subagent-types.js';
|
|
10
|
-
import { SubagentRole } from './subagent-types.js';
|
|
11
|
-
/**
|
|
12
|
-
* Orchestrator configuration
|
|
13
|
-
*/
|
|
14
|
-
export interface OrchestratorConfig {
|
|
15
|
-
maxConcurrentAgents?: number;
|
|
16
|
-
defaultTimeout?: number;
|
|
17
|
-
autoCheckpoint?: boolean;
|
|
18
|
-
verbose?: boolean;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* SubagentOrchestrator manages multiple subagents
|
|
22
|
-
*/
|
|
23
|
-
export declare class SubagentOrchestrator extends EventEmitter {
|
|
24
|
-
private subagents;
|
|
25
|
-
private taskQueue;
|
|
26
|
-
private results;
|
|
27
|
-
private dependencyResolver;
|
|
28
|
-
private activeCount;
|
|
29
|
-
private config;
|
|
30
|
-
private subagentListeners;
|
|
31
|
-
constructor(config?: OrchestratorConfig);
|
|
32
|
-
/**
|
|
33
|
-
* Spawn a new subagent with the specified role
|
|
34
|
-
*/
|
|
35
|
-
spawn(role: SubagentRole, config?: Partial<SubagentConfig>): Promise<Subagent>;
|
|
36
|
-
/**
|
|
37
|
-
* Alias for spawn() for backward compatibility
|
|
38
|
-
*/
|
|
39
|
-
spawnSubagent(role: SubagentRole, config?: Partial<SubagentConfig>): Promise<Subagent>;
|
|
40
|
-
private static readonly EVENT_MAPPINGS;
|
|
41
|
-
/**
|
|
42
|
-
* Forward events from subagent to orchestrator
|
|
43
|
-
* REFACTOR: Data-driven approach reduces repetitive handler code
|
|
44
|
-
*/
|
|
45
|
-
private forwardSubagentEvents;
|
|
46
|
-
/**
|
|
47
|
-
* Delegate a task to a subagent with the specified role
|
|
48
|
-
*/
|
|
49
|
-
delegateTask(task: SubagentTask, role?: SubagentRole): Promise<SubagentResult>;
|
|
50
|
-
/**
|
|
51
|
-
* Execute multiple tasks in parallel
|
|
52
|
-
*/
|
|
53
|
-
executeParallel(tasks: SubagentTask[]): Promise<SubagentResult[]>;
|
|
54
|
-
/**
|
|
55
|
-
* REFACTOR: Extract failed result creation to reduce duplication
|
|
56
|
-
*/
|
|
57
|
-
private createFailedResult;
|
|
58
|
-
/**
|
|
59
|
-
* Execute a batch of tasks in parallel
|
|
60
|
-
*/
|
|
61
|
-
private executeBatch;
|
|
62
|
-
private static readonly ROLE_PATTERNS;
|
|
63
|
-
/**
|
|
64
|
-
* Infer subagent role from task description
|
|
65
|
-
* Uses pre-compiled regex patterns for performance
|
|
66
|
-
*/
|
|
67
|
-
private inferRoleFromTask;
|
|
68
|
-
/**
|
|
69
|
-
* Terminate a specific subagent by ID
|
|
70
|
-
* Properly removes event listeners to prevent memory leaks
|
|
71
|
-
*/
|
|
72
|
-
terminateSubagent(subagentId: string): Promise<void>;
|
|
73
|
-
/**
|
|
74
|
-
* Terminate all subagents
|
|
75
|
-
* Properly removes all event listeners to prevent memory leaks
|
|
76
|
-
* Uses Promise.allSettled to ensure all subagents are terminated even if some fail
|
|
77
|
-
*/
|
|
78
|
-
terminateAll(): Promise<void>;
|
|
79
|
-
/**
|
|
80
|
-
* Get result for a specific task
|
|
81
|
-
*/
|
|
82
|
-
getResult(taskId: string): SubagentResult | undefined;
|
|
83
|
-
/**
|
|
84
|
-
* Get all results
|
|
85
|
-
*/
|
|
86
|
-
getAllResults(): Map<string, SubagentResult>;
|
|
87
|
-
/**
|
|
88
|
-
* Get orchestrator status
|
|
89
|
-
*/
|
|
90
|
-
getStatus(): {
|
|
91
|
-
totalSubagents: number;
|
|
92
|
-
activeSubagents: number;
|
|
93
|
-
completedTasks: number;
|
|
94
|
-
queuedTasks: number;
|
|
95
|
-
};
|
|
96
|
-
/**
|
|
97
|
-
* Get list of active subagents
|
|
98
|
-
*/
|
|
99
|
-
getActiveSubagents(): Array<{
|
|
100
|
-
id: string;
|
|
101
|
-
role: SubagentRole;
|
|
102
|
-
status: SubagentStatus;
|
|
103
|
-
}>;
|
|
104
|
-
/**
|
|
105
|
-
* Clear all results
|
|
106
|
-
*/
|
|
107
|
-
clearResults(): void;
|
|
108
|
-
/**
|
|
109
|
-
* Add a task to the queue for later processing
|
|
110
|
-
* BUG FIX: taskQueue was declared but never used - now provides queue functionality
|
|
111
|
-
*/
|
|
112
|
-
queueTask(task: SubagentTask): void;
|
|
113
|
-
/**
|
|
114
|
-
* Add multiple tasks to the queue
|
|
115
|
-
*/
|
|
116
|
-
queueTasks(tasks: SubagentTask[]): void;
|
|
117
|
-
/**
|
|
118
|
-
* Process all queued tasks
|
|
119
|
-
* Clears the queue after processing
|
|
120
|
-
*/
|
|
121
|
-
processQueue(): Promise<SubagentResult[]>;
|
|
122
|
-
/**
|
|
123
|
-
* Get current queue length
|
|
124
|
-
*/
|
|
125
|
-
getQueueLength(): number;
|
|
126
|
-
/**
|
|
127
|
-
* Clear the task queue without processing
|
|
128
|
-
*/
|
|
129
|
-
clearQueue(): void;
|
|
130
|
-
/**
|
|
131
|
-
* Get all active subagents (alias for tests)
|
|
132
|
-
*/
|
|
133
|
-
getActive(): Subagent[];
|
|
134
|
-
/**
|
|
135
|
-
* Monitor a specific subagent's status
|
|
136
|
-
*/
|
|
137
|
-
monitor(subagentId: string): SubagentStatus | null;
|
|
138
|
-
/**
|
|
139
|
-
* Get orchestrator statistics
|
|
140
|
-
* REFACTOR: Single pass through results instead of two filter operations
|
|
141
|
-
*/
|
|
142
|
-
getStats(): {
|
|
143
|
-
activeAgents: number;
|
|
144
|
-
totalResults: number;
|
|
145
|
-
successfulTasks: number;
|
|
146
|
-
failedTasks: number;
|
|
147
|
-
};
|
|
148
|
-
/**
|
|
149
|
-
* Spawn multiple subagents in parallel
|
|
150
|
-
* BUG FIX: Respects maxConcurrentAgents limit by spawning sequentially
|
|
151
|
-
* if the total would exceed the limit
|
|
152
|
-
*/
|
|
153
|
-
spawnParallel(configs: Array<{
|
|
154
|
-
role: SubagentRole;
|
|
155
|
-
config?: Partial<SubagentConfig>;
|
|
156
|
-
}>): Promise<Subagent[]>;
|
|
157
|
-
/**
|
|
158
|
-
* Send a message to a subagent
|
|
159
|
-
* BUG FIX: Actually call receiveMessage on the subagent instead of just emitting event
|
|
160
|
-
*/
|
|
161
|
-
sendMessage(subagentId: string, message: string, type?: 'instruction' | 'cancellation' | 'query'): Promise<void>;
|
|
162
|
-
/**
|
|
163
|
-
* Clean up resources and remove all event listeners.
|
|
164
|
-
*/
|
|
165
|
-
destroy(): void;
|
|
166
|
-
}
|
|
@@ -1,487 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Subagent Orchestrator
|
|
3
|
-
*
|
|
4
|
-
* Manages the lifecycle of subagents and coordinates parallel task execution.
|
|
5
|
-
* Handles spawning, delegation, dependency resolution, and result aggregation.
|
|
6
|
-
*/
|
|
7
|
-
import { EventEmitter } from 'events';
|
|
8
|
-
import { Subagent } from './subagent.js';
|
|
9
|
-
import { SubagentRole, SubagentState } from './subagent-types.js';
|
|
10
|
-
import { DependencyResolver } from './dependency-resolver.js';
|
|
11
|
-
// Import specialized agents
|
|
12
|
-
import { TestingAgent } from './specialized/testing-agent.js';
|
|
13
|
-
import { DocumentationAgent } from './specialized/documentation-agent.js';
|
|
14
|
-
import { RefactoringAgent } from './specialized/refactoring-agent.js';
|
|
15
|
-
import { AnalysisAgent } from './specialized/analysis-agent.js';
|
|
16
|
-
import { DebugAgent } from './specialized/debug-agent.js';
|
|
17
|
-
import { PerformanceAgent } from './specialized/performance-agent.js';
|
|
18
|
-
const AGENT_FACTORIES = new Map([
|
|
19
|
-
[SubagentRole.TESTING, (config) => new TestingAgent(config)],
|
|
20
|
-
[SubagentRole.DOCUMENTATION, (config) => new DocumentationAgent(config)],
|
|
21
|
-
[SubagentRole.REFACTORING, (config) => new RefactoringAgent(config)],
|
|
22
|
-
[SubagentRole.ANALYSIS, (config) => new AnalysisAgent(config)],
|
|
23
|
-
[SubagentRole.DEBUG, (config) => new DebugAgent(config)],
|
|
24
|
-
[SubagentRole.PERFORMANCE, (config) => new PerformanceAgent(config)],
|
|
25
|
-
]);
|
|
26
|
-
/**
|
|
27
|
-
* SubagentOrchestrator manages multiple subagents
|
|
28
|
-
*/
|
|
29
|
-
export class SubagentOrchestrator extends EventEmitter {
|
|
30
|
-
subagents;
|
|
31
|
-
taskQueue;
|
|
32
|
-
results;
|
|
33
|
-
dependencyResolver;
|
|
34
|
-
activeCount;
|
|
35
|
-
config;
|
|
36
|
-
// Track event listeners for cleanup to prevent memory leaks
|
|
37
|
-
// Using unknown[] for event handler args to maintain type safety while supporting various event signatures
|
|
38
|
-
subagentListeners;
|
|
39
|
-
constructor(config) {
|
|
40
|
-
super();
|
|
41
|
-
this.config = {
|
|
42
|
-
maxConcurrentAgents: 5,
|
|
43
|
-
defaultTimeout: 300000,
|
|
44
|
-
autoCheckpoint: false,
|
|
45
|
-
verbose: false,
|
|
46
|
-
...config,
|
|
47
|
-
};
|
|
48
|
-
this.subagents = new Map();
|
|
49
|
-
this.taskQueue = [];
|
|
50
|
-
this.results = new Map();
|
|
51
|
-
this.dependencyResolver = new DependencyResolver();
|
|
52
|
-
this.activeCount = 0;
|
|
53
|
-
this.subagentListeners = new Map();
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* Spawn a new subagent with the specified role
|
|
57
|
-
*/
|
|
58
|
-
async spawn(role, config) {
|
|
59
|
-
// Check max concurrent agents limit
|
|
60
|
-
const maxAgents = this.config.maxConcurrentAgents ?? 5;
|
|
61
|
-
if (this.subagents.size >= maxAgents) {
|
|
62
|
-
throw new Error(`Maximum concurrent agents limit (${maxAgents}) reached`);
|
|
63
|
-
}
|
|
64
|
-
// BUG FIX: Apply defaultTimeout from orchestrator config if not specified in subagent config
|
|
65
|
-
const mergedConfig = {
|
|
66
|
-
timeout: this.config.defaultTimeout,
|
|
67
|
-
...config, // Allow config to override defaultTimeout
|
|
68
|
-
};
|
|
69
|
-
// REFACTOR: Use factory registry instead of switch statement
|
|
70
|
-
const factory = AGENT_FACTORIES.get(role);
|
|
71
|
-
const subagent = factory ? factory(mergedConfig) : new Subagent(SubagentRole.GENERAL, mergedConfig);
|
|
72
|
-
// Register subagent using its own ID
|
|
73
|
-
this.subagents.set(subagent.id, subagent);
|
|
74
|
-
// Forward subagent events
|
|
75
|
-
this.forwardSubagentEvents(subagent.id, subagent);
|
|
76
|
-
this.emit('spawn', { id: subagent.id, role });
|
|
77
|
-
return subagent;
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* Alias for spawn() for backward compatibility
|
|
81
|
-
*/
|
|
82
|
-
async spawnSubagent(role, config) {
|
|
83
|
-
return this.spawn(role, config);
|
|
84
|
-
}
|
|
85
|
-
// REFACTOR: Event mapping configuration for data-driven handler registration
|
|
86
|
-
static EVENT_MAPPINGS = [
|
|
87
|
-
{ source: 'task-started', target: 'subagent-start', modifyActiveCount: 'increment' },
|
|
88
|
-
{ source: 'task-completed', target: 'subagent-complete', modifyActiveCount: 'decrement', storeResult: true },
|
|
89
|
-
{ source: 'task-failed', target: 'subagent-error', modifyActiveCount: 'decrement' },
|
|
90
|
-
{ source: 'progress', target: 'subagent-progress' },
|
|
91
|
-
{ source: 'tool-executed', target: 'subagent-tool' },
|
|
92
|
-
{ source: 'tool-call', target: 'subagent-tool-call' },
|
|
93
|
-
{ source: 'tool-result', target: 'subagent-tool-result' },
|
|
94
|
-
];
|
|
95
|
-
/**
|
|
96
|
-
* Forward events from subagent to orchestrator
|
|
97
|
-
* REFACTOR: Data-driven approach reduces repetitive handler code
|
|
98
|
-
*/
|
|
99
|
-
forwardSubagentEvents(id, subagent) {
|
|
100
|
-
// Guard against duplicate listener registration
|
|
101
|
-
if (this.subagentListeners.has(id)) {
|
|
102
|
-
return;
|
|
103
|
-
}
|
|
104
|
-
const handlers = new Map();
|
|
105
|
-
for (const mapping of SubagentOrchestrator.EVENT_MAPPINGS) {
|
|
106
|
-
const handler = (data) => {
|
|
107
|
-
// Handle activeCount modifications
|
|
108
|
-
if (mapping.modifyActiveCount === 'increment') {
|
|
109
|
-
this.activeCount++;
|
|
110
|
-
}
|
|
111
|
-
else if (mapping.modifyActiveCount === 'decrement' && this.activeCount > 0) {
|
|
112
|
-
this.activeCount--;
|
|
113
|
-
}
|
|
114
|
-
// Store result if configured
|
|
115
|
-
if (mapping.storeResult && data && typeof data === 'object' && 'taskId' in data && 'result' in data) {
|
|
116
|
-
const taskData = data;
|
|
117
|
-
this.results.set(taskData.taskId, taskData.result);
|
|
118
|
-
}
|
|
119
|
-
// Forward event with subagentId
|
|
120
|
-
// BUG FIX: Safely spread data only if it's a valid object
|
|
121
|
-
const eventData = data && typeof data === 'object' ? data : {};
|
|
122
|
-
this.emit(mapping.target, { subagentId: id, ...eventData });
|
|
123
|
-
};
|
|
124
|
-
handlers.set(mapping.source, handler);
|
|
125
|
-
subagent.on(mapping.source, handler);
|
|
126
|
-
}
|
|
127
|
-
this.subagentListeners.set(id, handlers);
|
|
128
|
-
}
|
|
129
|
-
/**
|
|
130
|
-
* Delegate a task to a subagent with the specified role
|
|
131
|
-
*/
|
|
132
|
-
async delegateTask(task, role) {
|
|
133
|
-
// Determine role from task if not specified
|
|
134
|
-
const taskRole = role || this.inferRoleFromTask(task);
|
|
135
|
-
// Spawn subagent
|
|
136
|
-
const subagent = await this.spawnSubagent(taskRole);
|
|
137
|
-
try {
|
|
138
|
-
// Execute task
|
|
139
|
-
const result = await subagent.executeTask(task);
|
|
140
|
-
// Store result
|
|
141
|
-
this.results.set(task.id, result);
|
|
142
|
-
return result;
|
|
143
|
-
}
|
|
144
|
-
finally {
|
|
145
|
-
// Clean up subagent after task completion
|
|
146
|
-
await this.terminateSubagent(subagent.id);
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
/**
|
|
150
|
-
* Execute multiple tasks in parallel
|
|
151
|
-
*/
|
|
152
|
-
async executeParallel(tasks) {
|
|
153
|
-
// Validate dependencies
|
|
154
|
-
if (!this.dependencyResolver.validateDependencies(tasks)) {
|
|
155
|
-
throw new Error('Circular dependencies detected in tasks');
|
|
156
|
-
}
|
|
157
|
-
// Resolve dependencies and get execution batches
|
|
158
|
-
const batches = this.dependencyResolver.resolveDependencies(tasks);
|
|
159
|
-
const allResults = [];
|
|
160
|
-
// BUG FIX: Use Map for O(1) lookup instead of O(n) find() in loop
|
|
161
|
-
const taskMap = new Map(tasks.map(t => [t.id, t]));
|
|
162
|
-
// Execute batches sequentially, but tasks within each batch in parallel
|
|
163
|
-
for (const batch of batches) {
|
|
164
|
-
const batchTasks = batch
|
|
165
|
-
.map(taskId => taskMap.get(taskId))
|
|
166
|
-
.filter((task) => task !== undefined);
|
|
167
|
-
// Skip empty batches (shouldn't happen with valid dependency resolution)
|
|
168
|
-
if (batchTasks.length === 0)
|
|
169
|
-
continue;
|
|
170
|
-
// Execute batch in parallel
|
|
171
|
-
const batchResults = await this.executeBatch(batchTasks);
|
|
172
|
-
allResults.push(...batchResults);
|
|
173
|
-
}
|
|
174
|
-
return allResults;
|
|
175
|
-
}
|
|
176
|
-
/**
|
|
177
|
-
* REFACTOR: Extract failed result creation to reduce duplication
|
|
178
|
-
*/
|
|
179
|
-
createFailedResult(taskId, role, errorMessage) {
|
|
180
|
-
const now = new Date();
|
|
181
|
-
return {
|
|
182
|
-
id: `failed-${taskId}`,
|
|
183
|
-
taskId,
|
|
184
|
-
role,
|
|
185
|
-
success: false,
|
|
186
|
-
output: '',
|
|
187
|
-
error: errorMessage,
|
|
188
|
-
executionTime: 0,
|
|
189
|
-
status: {
|
|
190
|
-
id: `status-${taskId}`,
|
|
191
|
-
taskId,
|
|
192
|
-
role,
|
|
193
|
-
state: SubagentState.FAILED,
|
|
194
|
-
progress: 0,
|
|
195
|
-
startTime: now,
|
|
196
|
-
endTime: now,
|
|
197
|
-
error: errorMessage,
|
|
198
|
-
},
|
|
199
|
-
};
|
|
200
|
-
}
|
|
201
|
-
/**
|
|
202
|
-
* Execute a batch of tasks in parallel
|
|
203
|
-
*/
|
|
204
|
-
async executeBatch(tasks) {
|
|
205
|
-
const promises = tasks.map(async (task) => {
|
|
206
|
-
// Infer role from task
|
|
207
|
-
const role = this.inferRoleFromTask(task);
|
|
208
|
-
// Spawn and execute
|
|
209
|
-
const subagent = await this.spawnSubagent(role);
|
|
210
|
-
try {
|
|
211
|
-
const result = await subagent.executeTask(task);
|
|
212
|
-
this.results.set(task.id, result);
|
|
213
|
-
return result;
|
|
214
|
-
}
|
|
215
|
-
finally {
|
|
216
|
-
await this.terminateSubagent(subagent.id);
|
|
217
|
-
}
|
|
218
|
-
});
|
|
219
|
-
// Execute all in parallel with fail-safe
|
|
220
|
-
const results = await Promise.allSettled(promises);
|
|
221
|
-
return results.map((r, i) => {
|
|
222
|
-
if (r.status === 'fulfilled') {
|
|
223
|
-
return r.value;
|
|
224
|
-
}
|
|
225
|
-
// Task failed - use helper to create result
|
|
226
|
-
const task = tasks[i];
|
|
227
|
-
const errorMessage = r.reason?.message || 'Unknown error';
|
|
228
|
-
if (!task) {
|
|
229
|
-
// Fallback for edge case where arrays are misaligned
|
|
230
|
-
return this.createFailedResult(`unknown-${i}`, SubagentRole.GENERAL, `${errorMessage} (task not found)`);
|
|
231
|
-
}
|
|
232
|
-
// BUG FIX: Use inferred role (same as in executeBatch) instead of task.role
|
|
233
|
-
// which may be different from the actual subagent role used
|
|
234
|
-
const inferredRole = this.inferRoleFromTask(task);
|
|
235
|
-
return this.createFailedResult(task.id, inferredRole, errorMessage);
|
|
236
|
-
});
|
|
237
|
-
}
|
|
238
|
-
// REFACTOR: Pre-compiled regex patterns for role inference (avoid creating on each call)
|
|
239
|
-
static ROLE_PATTERNS = [
|
|
240
|
-
{ role: SubagentRole.TESTING, pattern: /\b(test|testing|tests)\b/i },
|
|
241
|
-
{ role: SubagentRole.DOCUMENTATION, pattern: /\b(document|readme|docs|documentation)\b/i },
|
|
242
|
-
{ role: SubagentRole.REFACTORING, pattern: /\b(refactor|restructure|refactoring)\b/i },
|
|
243
|
-
{ role: SubagentRole.ANALYSIS, pattern: /\b(analyze|review|audit|analysis)\b/i },
|
|
244
|
-
{ role: SubagentRole.DEBUG, pattern: /\b(debug|fix|bug|debugging)\b/i },
|
|
245
|
-
{ role: SubagentRole.PERFORMANCE, pattern: /\b(performance|optimize|speed|optimization)\b/i },
|
|
246
|
-
];
|
|
247
|
-
/**
|
|
248
|
-
* Infer subagent role from task description
|
|
249
|
-
* Uses pre-compiled regex patterns for performance
|
|
250
|
-
*/
|
|
251
|
-
inferRoleFromTask(task) {
|
|
252
|
-
const desc = task.description;
|
|
253
|
-
for (const { role, pattern } of SubagentOrchestrator.ROLE_PATTERNS) {
|
|
254
|
-
if (pattern.test(desc)) {
|
|
255
|
-
return role;
|
|
256
|
-
}
|
|
257
|
-
}
|
|
258
|
-
return SubagentRole.GENERAL;
|
|
259
|
-
}
|
|
260
|
-
/**
|
|
261
|
-
* Terminate a specific subagent by ID
|
|
262
|
-
* Properly removes event listeners to prevent memory leaks
|
|
263
|
-
*/
|
|
264
|
-
async terminateSubagent(subagentId) {
|
|
265
|
-
const subagent = this.subagents.get(subagentId);
|
|
266
|
-
if (!subagent) {
|
|
267
|
-
return; // Gracefully handle non-existent subagent
|
|
268
|
-
}
|
|
269
|
-
// Remove event listeners to prevent memory leaks
|
|
270
|
-
const handlers = this.subagentListeners.get(subagentId);
|
|
271
|
-
if (handlers) {
|
|
272
|
-
for (const [event, handler] of handlers) {
|
|
273
|
-
subagent.off(event, handler);
|
|
274
|
-
}
|
|
275
|
-
this.subagentListeners.delete(subagentId);
|
|
276
|
-
}
|
|
277
|
-
await subagent.terminate();
|
|
278
|
-
this.subagents.delete(subagentId);
|
|
279
|
-
this.emit('terminate', { id: subagentId });
|
|
280
|
-
}
|
|
281
|
-
/**
|
|
282
|
-
* Terminate all subagents
|
|
283
|
-
* Properly removes all event listeners to prevent memory leaks
|
|
284
|
-
* Uses Promise.allSettled to ensure all subagents are terminated even if some fail
|
|
285
|
-
*/
|
|
286
|
-
async terminateAll() {
|
|
287
|
-
// Remove all event listeners before terminating
|
|
288
|
-
for (const [subagentId, subagent] of this.subagents) {
|
|
289
|
-
const handlers = this.subagentListeners.get(subagentId);
|
|
290
|
-
if (handlers) {
|
|
291
|
-
for (const [event, handler] of handlers) {
|
|
292
|
-
subagent.off(event, handler);
|
|
293
|
-
}
|
|
294
|
-
}
|
|
295
|
-
}
|
|
296
|
-
this.subagentListeners.clear();
|
|
297
|
-
const subagentEntries = Array.from(this.subagents.entries());
|
|
298
|
-
const terminatePromises = subagentEntries.map(([, subagent]) => subagent.terminate());
|
|
299
|
-
// Use Promise.allSettled to ensure all subagents are attempted
|
|
300
|
-
// even if some terminations fail
|
|
301
|
-
const results = await Promise.allSettled(terminatePromises);
|
|
302
|
-
// BUG FIX: Emit event for failures instead of console.warn
|
|
303
|
-
// This allows the caller to handle failures appropriately
|
|
304
|
-
results.forEach((result, index) => {
|
|
305
|
-
if (result.status === 'rejected') {
|
|
306
|
-
this.emit('termination-error', {
|
|
307
|
-
subagentId: subagentEntries[index][0],
|
|
308
|
-
error: result.reason?.message || 'Unknown error',
|
|
309
|
-
});
|
|
310
|
-
}
|
|
311
|
-
});
|
|
312
|
-
this.subagents.clear();
|
|
313
|
-
this.activeCount = 0;
|
|
314
|
-
this.emit('all-terminated');
|
|
315
|
-
}
|
|
316
|
-
/**
|
|
317
|
-
* Get result for a specific task
|
|
318
|
-
*/
|
|
319
|
-
getResult(taskId) {
|
|
320
|
-
return this.results.get(taskId);
|
|
321
|
-
}
|
|
322
|
-
/**
|
|
323
|
-
* Get all results
|
|
324
|
-
*/
|
|
325
|
-
getAllResults() {
|
|
326
|
-
return new Map(this.results);
|
|
327
|
-
}
|
|
328
|
-
/**
|
|
329
|
-
* Get orchestrator status
|
|
330
|
-
*/
|
|
331
|
-
getStatus() {
|
|
332
|
-
return {
|
|
333
|
-
totalSubagents: this.subagents.size,
|
|
334
|
-
activeSubagents: this.activeCount,
|
|
335
|
-
completedTasks: this.results.size,
|
|
336
|
-
queuedTasks: this.taskQueue.length,
|
|
337
|
-
};
|
|
338
|
-
}
|
|
339
|
-
/**
|
|
340
|
-
* Get list of active subagents
|
|
341
|
-
*/
|
|
342
|
-
getActiveSubagents() {
|
|
343
|
-
const active = [];
|
|
344
|
-
for (const [id, subagent] of this.subagents) {
|
|
345
|
-
const status = subagent.getStatus();
|
|
346
|
-
// Check if state is RUNNING (active)
|
|
347
|
-
if (status.state === SubagentState.RUNNING) {
|
|
348
|
-
active.push({
|
|
349
|
-
id,
|
|
350
|
-
role: status.role,
|
|
351
|
-
status: status,
|
|
352
|
-
});
|
|
353
|
-
}
|
|
354
|
-
}
|
|
355
|
-
return active;
|
|
356
|
-
}
|
|
357
|
-
/**
|
|
358
|
-
* Clear all results
|
|
359
|
-
*/
|
|
360
|
-
clearResults() {
|
|
361
|
-
this.results.clear();
|
|
362
|
-
}
|
|
363
|
-
/**
|
|
364
|
-
* Add a task to the queue for later processing
|
|
365
|
-
* BUG FIX: taskQueue was declared but never used - now provides queue functionality
|
|
366
|
-
*/
|
|
367
|
-
queueTask(task) {
|
|
368
|
-
this.taskQueue.push(task);
|
|
369
|
-
this.emit('task-queued', { taskId: task.id, queueLength: this.taskQueue.length });
|
|
370
|
-
}
|
|
371
|
-
/**
|
|
372
|
-
* Add multiple tasks to the queue
|
|
373
|
-
*/
|
|
374
|
-
queueTasks(tasks) {
|
|
375
|
-
for (const task of tasks) {
|
|
376
|
-
this.taskQueue.push(task);
|
|
377
|
-
}
|
|
378
|
-
this.emit('tasks-queued', { count: tasks.length, queueLength: this.taskQueue.length });
|
|
379
|
-
}
|
|
380
|
-
/**
|
|
381
|
-
* Process all queued tasks
|
|
382
|
-
* Clears the queue after processing
|
|
383
|
-
*/
|
|
384
|
-
async processQueue() {
|
|
385
|
-
if (this.taskQueue.length === 0) {
|
|
386
|
-
return [];
|
|
387
|
-
}
|
|
388
|
-
// Move tasks out of queue before processing
|
|
389
|
-
const tasksToProcess = [...this.taskQueue];
|
|
390
|
-
this.taskQueue = [];
|
|
391
|
-
this.emit('queue-processing', { count: tasksToProcess.length });
|
|
392
|
-
const results = await this.executeParallel(tasksToProcess);
|
|
393
|
-
this.emit('queue-processed', { count: results.length });
|
|
394
|
-
return results;
|
|
395
|
-
}
|
|
396
|
-
/**
|
|
397
|
-
* Get current queue length
|
|
398
|
-
*/
|
|
399
|
-
getQueueLength() {
|
|
400
|
-
return this.taskQueue.length;
|
|
401
|
-
}
|
|
402
|
-
/**
|
|
403
|
-
* Clear the task queue without processing
|
|
404
|
-
*/
|
|
405
|
-
clearQueue() {
|
|
406
|
-
const clearedCount = this.taskQueue.length;
|
|
407
|
-
this.taskQueue = [];
|
|
408
|
-
this.emit('queue-cleared', { clearedCount });
|
|
409
|
-
}
|
|
410
|
-
/**
|
|
411
|
-
* Get all active subagents (alias for tests)
|
|
412
|
-
*/
|
|
413
|
-
getActive() {
|
|
414
|
-
return Array.from(this.subagents.values());
|
|
415
|
-
}
|
|
416
|
-
/**
|
|
417
|
-
* Monitor a specific subagent's status
|
|
418
|
-
*/
|
|
419
|
-
monitor(subagentId) {
|
|
420
|
-
const subagent = this.subagents.get(subagentId);
|
|
421
|
-
if (!subagent) {
|
|
422
|
-
return null;
|
|
423
|
-
}
|
|
424
|
-
return subagent.getStatus();
|
|
425
|
-
}
|
|
426
|
-
/**
|
|
427
|
-
* Get orchestrator statistics
|
|
428
|
-
* REFACTOR: Single pass through results instead of two filter operations
|
|
429
|
-
*/
|
|
430
|
-
getStats() {
|
|
431
|
-
let successfulTasks = 0;
|
|
432
|
-
let failedTasks = 0;
|
|
433
|
-
for (const result of this.results.values()) {
|
|
434
|
-
if (result.success) {
|
|
435
|
-
successfulTasks++;
|
|
436
|
-
}
|
|
437
|
-
else {
|
|
438
|
-
failedTasks++;
|
|
439
|
-
}
|
|
440
|
-
}
|
|
441
|
-
return {
|
|
442
|
-
activeAgents: this.subagents.size,
|
|
443
|
-
totalResults: this.results.size,
|
|
444
|
-
successfulTasks,
|
|
445
|
-
failedTasks,
|
|
446
|
-
};
|
|
447
|
-
}
|
|
448
|
-
/**
|
|
449
|
-
* Spawn multiple subagents in parallel
|
|
450
|
-
* BUG FIX: Respects maxConcurrentAgents limit by spawning sequentially
|
|
451
|
-
* if the total would exceed the limit
|
|
452
|
-
*/
|
|
453
|
-
async spawnParallel(configs) {
|
|
454
|
-
const maxAgents = this.config.maxConcurrentAgents ?? 5;
|
|
455
|
-
const availableSlots = maxAgents - this.subagents.size;
|
|
456
|
-
if (configs.length > availableSlots) {
|
|
457
|
-
throw new Error(`Cannot spawn ${configs.length} agents: only ${availableSlots} slots available (max: ${maxAgents}, current: ${this.subagents.size})`);
|
|
458
|
-
}
|
|
459
|
-
return Promise.all(configs.map(({ role, config }) => this.spawn(role, config)));
|
|
460
|
-
}
|
|
461
|
-
/**
|
|
462
|
-
* Send a message to a subagent
|
|
463
|
-
* BUG FIX: Actually call receiveMessage on the subagent instead of just emitting event
|
|
464
|
-
*/
|
|
465
|
-
async sendMessage(subagentId, message, type = 'instruction') {
|
|
466
|
-
const subagent = this.subagents.get(subagentId);
|
|
467
|
-
if (!subagent) {
|
|
468
|
-
throw new Error(`Subagent ${subagentId} not found`);
|
|
469
|
-
}
|
|
470
|
-
// Actually deliver the message to the subagent
|
|
471
|
-
await subagent.receiveMessage({
|
|
472
|
-
from: 'orchestrator',
|
|
473
|
-
to: 'subagent',
|
|
474
|
-
type,
|
|
475
|
-
content: message,
|
|
476
|
-
timestamp: new Date(),
|
|
477
|
-
});
|
|
478
|
-
this.emit('message-sent', { subagentId, message, type });
|
|
479
|
-
}
|
|
480
|
-
/**
|
|
481
|
-
* Clean up resources and remove all event listeners.
|
|
482
|
-
*/
|
|
483
|
-
destroy() {
|
|
484
|
-
this.removeAllListeners();
|
|
485
|
-
}
|
|
486
|
-
}
|
|
487
|
-
//# sourceMappingURL=subagent-orchestrator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"subagent-orchestrator.js","sourceRoot":"","sources":["../../src/agent/subagent-orchestrator.ts"],"names":[],"mappings":"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"}
|