claude-flow-novice 1.6.1 ā 1.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/agents/cfn-loop/product-owner.md +54 -4
- package/.claude/commands/cfn-claude-sync.md +303 -0
- package/.claude/commands/cfn-loop-epic.md +290 -0
- package/.claude/commands/cfn-loop-single.md +168 -0
- package/.claude/commands/cfn-loop-sprints.md +384 -0
- package/.claude/commands/cfn-loop.md +180 -0
- package/.claude/commands/metrics-summary.md +58 -0
- package/.claude/commands/parse-epic.md +357 -0
- package/.claude/settings.json +4 -4
- package/.claude/settings.local.json +9 -2
- package/.claude-flow-novice/.claude/agents/cfn-loop/product-owner.md +792 -0
- package/.claude-flow-novice/dist/mcp/server.js +21 -2
- package/.claude-flow-novice/dist/src/api/claude-client.js +138 -3
- package/.claude-flow-novice/dist/src/api/claude-client.js.map +1 -1
- package/.claude-flow-novice/dist/src/cfn-loop/phase-orchestrator-example.js +1 -1
- package/.claude-flow-novice/dist/src/cfn-loop/scope-control.js +247 -0
- package/.claude-flow-novice/dist/src/cfn-loop/scope-control.js.map +1 -0
- package/.claude-flow-novice/dist/src/cli/commands/swarm.js +32 -15
- package/.claude-flow-novice/dist/src/cli/commands/swarm.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/commands/transparency.js +455 -0
- package/.claude-flow-novice/dist/src/cli/commands/transparency.js.map +1 -0
- package/.claude-flow-novice/dist/src/cli/simple-commands/init/templates/CLAUDE.md +129 -13
- package/.claude-flow-novice/dist/src/components/visualizations/index.js +9 -0
- package/.claude-flow-novice/dist/src/components/visualizations/index.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/adapters/v1-coordinator-adapter.js +462 -0
- package/.claude-flow-novice/dist/src/coordination/adapters/v1-coordinator-adapter.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/config-translator.js +248 -0
- package/.claude-flow-novice/dist/src/coordination/config-translator.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/coordination-toggle.js +287 -0
- package/.claude-flow-novice/dist/src/coordination/coordination-toggle.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/distributed-consensus.js +68 -9
- package/.claude-flow-novice/dist/src/coordination/distributed-consensus.js.map +1 -1
- package/.claude-flow-novice/dist/src/coordination/feature-flags.js +166 -0
- package/.claude-flow-novice/dist/src/coordination/feature-flags.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/queen-agent.js +18 -4
- package/.claude-flow-novice/dist/src/coordination/queen-agent.js.map +1 -1
- package/.claude-flow-novice/dist/src/coordination/role-assignment.js +6 -110
- package/.claude-flow-novice/dist/src/coordination/role-assignment.js.map +1 -1
- package/.claude-flow-novice/dist/src/coordination/v2/cache/artifact-cache-optimizer.js +632 -0
- package/.claude-flow-novice/dist/src/coordination/v2/cache/artifact-cache-optimizer.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/cache/index.js +11 -0
- package/.claude-flow-novice/dist/src/coordination/v2/cache/index.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/checkpoints/checkpoint-compressor.js +318 -0
- package/.claude-flow-novice/dist/src/coordination/v2/checkpoints/checkpoint-compressor.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/coordinators/cascading-shutdown.example.js +364 -0
- package/.claude-flow-novice/dist/src/coordination/v2/coordinators/cascading-shutdown.example.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/coordinators/cascading-shutdown.js +492 -0
- package/.claude-flow-novice/dist/src/coordination/v2/coordinators/cascading-shutdown.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/coordinators/hierarchical-coordinator.js +786 -0
- package/.claude-flow-novice/dist/src/coordination/v2/coordinators/hierarchical-coordinator.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/coordinators/index.js +16 -0
- package/.claude-flow-novice/dist/src/coordination/v2/coordinators/index.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/coordinators/parent-child-manager.js +342 -0
- package/.claude-flow-novice/dist/src/coordination/v2/coordinators/parent-child-manager.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/coordinators/swarm-coordinator-v2.js +601 -0
- package/.claude-flow-novice/dist/src/coordination/v2/coordinators/swarm-coordinator-v2.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/core/help-request-metrics.js +211 -0
- package/.claude-flow-novice/dist/src/coordination/v2/core/help-request-metrics.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/core/index.js +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/core/index.js.map +1 -1
- package/.claude-flow-novice/dist/src/coordination/v2/core/message-broker.js +365 -6
- package/.claude-flow-novice/dist/src/coordination/v2/core/message-broker.js.map +1 -1
- package/.claude-flow-novice/dist/src/coordination/v2/core/resource-manager-safe.js +478 -0
- package/.claude-flow-novice/dist/src/coordination/v2/core/resource-manager-safe.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/core/state-machine-config.js +5 -2
- package/.claude-flow-novice/dist/src/coordination/v2/core/state-machine-config.js.map +1 -1
- package/.claude-flow-novice/dist/src/coordination/v2/core/state-machine.js +189 -0
- package/.claude-flow-novice/dist/src/coordination/v2/core/state-machine.js.map +1 -1
- package/.claude-flow-novice/dist/src/coordination/v2/deadlock/deadlock-detector.js +424 -0
- package/.claude-flow-novice/dist/src/coordination/v2/deadlock/deadlock-detector.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/deadlock/index.js +9 -0
- package/.claude-flow-novice/dist/src/coordination/v2/deadlock/index.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/deadlock/resource-manager.js +669 -0
- package/.claude-flow-novice/dist/src/coordination/v2/deadlock/resource-manager.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/dependency/artifact-storage.js +451 -0
- package/.claude-flow-novice/dist/src/coordination/v2/dependency/artifact-storage.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/dependency/cycle-detector.js +271 -0
- package/.claude-flow-novice/dist/src/coordination/v2/dependency/cycle-detector.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/dependency/dependency-graph.js +335 -0
- package/.claude-flow-novice/dist/src/coordination/v2/dependency/dependency-graph.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/dependency/dependency-manager.js +439 -0
- package/.claude-flow-novice/dist/src/coordination/v2/dependency/dependency-manager.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/dependency/dependency-request.js +92 -0
- package/.claude-flow-novice/dist/src/coordination/v2/dependency/dependency-request.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/dependency/index.js +21 -0
- package/.claude-flow-novice/dist/src/coordination/v2/dependency/index.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/dependency/topological-sort.js +223 -0
- package/.claude-flow-novice/dist/src/coordination/v2/dependency/topological-sort.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/help-system/help-coordinator.js +436 -0
- package/.claude-flow-novice/dist/src/coordination/v2/help-system/help-coordinator.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/help-system/help-matcher.js +278 -0
- package/.claude-flow-novice/dist/src/coordination/v2/help-system/help-matcher.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/help-system/help-request-handler.js +317 -0
- package/.claude-flow-novice/dist/src/coordination/v2/help-system/help-request-handler.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/help-system/help-request.js +273 -0
- package/.claude-flow-novice/dist/src/coordination/v2/help-system/help-request.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/help-system/index.js +15 -0
- package/.claude-flow-novice/dist/src/coordination/v2/help-system/index.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/help-system/waiting-agent-pool.js +512 -0
- package/.claude-flow-novice/dist/src/coordination/v2/help-system/waiting-agent-pool.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/index.js +6 -0
- package/.claude-flow-novice/dist/src/coordination/v2/index.js.map +1 -1
- package/.claude-flow-novice/dist/src/coordination/v2/integration/help-deadlock-integration.js +557 -0
- package/.claude-flow-novice/dist/src/coordination/v2/integration/help-deadlock-integration.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/integration/index.js +14 -0
- package/.claude-flow-novice/dist/src/coordination/v2/integration/index.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/integration/message-bus-completion-integration.example.js +212 -0
- package/.claude-flow-novice/dist/src/coordination/v2/integration/message-bus-completion-integration.example.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/integration/message-bus-completion-integration.js +552 -0
- package/.claude-flow-novice/dist/src/coordination/v2/integration/message-bus-completion-integration.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/memory/dependency-storage.js +367 -0
- package/.claude-flow-novice/dist/src/coordination/v2/memory/dependency-storage.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/memory/index.js +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/memory/index.js.map +1 -1
- package/.claude-flow-novice/dist/src/coordination/v2/messaging/channel.js +371 -0
- package/.claude-flow-novice/dist/src/coordination/v2/messaging/channel.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/messaging/channels/dependency-channel.js +355 -0
- package/.claude-flow-novice/dist/src/coordination/v2/messaging/channels/dependency-channel.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/messaging/channels/help-channel.js +424 -0
- package/.claude-flow-novice/dist/src/coordination/v2/messaging/channels/help-channel.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/messaging/channels/index.js +16 -0
- package/.claude-flow-novice/dist/src/coordination/v2/messaging/channels/index.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/messaging/channels/state-channel.js +295 -0
- package/.claude-flow-novice/dist/src/coordination/v2/messaging/channels/state-channel.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/messaging/channels/task-channel.js +411 -0
- package/.claude-flow-novice/dist/src/coordination/v2/messaging/channels/task-channel.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/messaging/index.js +14 -0
- package/.claude-flow-novice/dist/src/coordination/v2/messaging/index.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/messaging/message-bus.js +387 -0
- package/.claude-flow-novice/dist/src/coordination/v2/messaging/message-bus.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/messaging/message-persistence.js +589 -0
- package/.claude-flow-novice/dist/src/coordination/v2/messaging/message-persistence.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/messaging/message-router.js +444 -0
- package/.claude-flow-novice/dist/src/coordination/v2/messaging/message-router.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/sdk/checkpoint-manager.js +29 -8
- package/.claude-flow-novice/dist/src/coordination/v2/sdk/checkpoint-manager.js.map +1 -1
- package/.claude-flow-novice/dist/src/coordination/v2/sdk/help-coordinator.js +470 -0
- package/.claude-flow-novice/dist/src/coordination/v2/sdk/help-coordinator.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/sdk/hierarchical-background-integration.js +450 -0
- package/.claude-flow-novice/dist/src/coordination/v2/sdk/hierarchical-background-integration.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/sdk/index.js +5 -0
- package/.claude-flow-novice/dist/src/coordination/v2/sdk/index.js.map +1 -1
- package/.claude-flow-novice/dist/src/coordination/v2/sdk/multi-level-control.js +545 -0
- package/.claude-flow-novice/dist/src/coordination/v2/sdk/multi-level-control.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/sdk/query-controller.js +44 -0
- package/.claude-flow-novice/dist/src/coordination/v2/sdk/query-controller.js.map +1 -1
- package/.claude-flow-novice/dist/src/coordination/v2/sdk/query-message-integration.js +415 -0
- package/.claude-flow-novice/dist/src/coordination/v2/sdk/query-message-integration.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/sdk/session-pool-optimizer.js +615 -0
- package/.claude-flow-novice/dist/src/coordination/v2/sdk/session-pool-optimizer.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/security/payload-validator.js +259 -0
- package/.claude-flow-novice/dist/src/coordination/v2/security/payload-validator.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/transparency/index.js +17 -0
- package/.claude-flow-novice/dist/src/coordination/v2/transparency/index.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/transparency/transparency-integration.js +357 -0
- package/.claude-flow-novice/dist/src/coordination/v2/transparency/transparency-integration.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/transparency/transparency-system.js +679 -0
- package/.claude-flow-novice/dist/src/coordination/v2/transparency/transparency-system.js.map +1 -0
- package/.claude-flow-novice/dist/src/core/agent-manager.js +30 -0
- package/.claude-flow-novice/dist/src/core/agent-manager.js.map +1 -1
- package/.claude-flow-novice/dist/src/mcp/server.js +21 -2
- package/.claude-flow-novice/dist/src/mcp/server.js.map +1 -1
- package/.claude-flow-novice/dist/src/observability/metrics-counter.js +268 -0
- package/.claude-flow-novice/dist/src/observability/metrics-counter.js.map +1 -0
- package/.claude-flow-novice/dist/src/observability/metrics-storage.js +265 -0
- package/.claude-flow-novice/dist/src/observability/metrics-storage.js.map +1 -0
- package/.claude-flow-novice/dist/src/observability/telemetry.js +26 -0
- package/.claude-flow-novice/dist/src/observability/telemetry.js.map +1 -1
- package/.claude-flow-novice/dist/src/providers/tiered-router.js +64 -10
- package/.claude-flow-novice/dist/src/providers/tiered-router.js.map +1 -1
- package/.claude-flow-novice/dist/src/providers/zai-provider.js +196 -97
- package/.claude-flow-novice/dist/src/providers/zai-provider.js.map +1 -1
- package/.claude-flow-novice/dist/src/slash-commands/cfn-claude-sync.js +533 -0
- package/.claude-flow-novice/dist/src/slash-commands/index.js +5 -0
- package/.claude-flow-novice/dist/src/slash-commands/metrics-summary-class.js +74 -0
- package/.claude-flow-novice/dist/src/slash-commands/metrics-summary.js +335 -0
- package/.claude-flow-novice/dist/src/slash-commands/register-all-commands.js +12 -0
- package/.claude-flow-novice/dist/src/verification/checkpoint-compression-demo.js +96 -0
- package/.claude-flow-novice/dist/src/verification/checkpoint-compression-demo.js.map +1 -0
- package/.claude-flow-novice/dist/src/verification/checkpoint-compression.js +406 -0
- package/.claude-flow-novice/dist/src/verification/checkpoint-compression.js.map +1 -0
- package/.claude-flow-novice/dist/src/verification/checkpoint-manager.js +35 -5
- package/.claude-flow-novice/dist/src/verification/checkpoint-manager.js.map +1 -1
- package/.claude-flow-novice/dist/src/web/api/config/api-config.js +186 -0
- package/.claude-flow-novice/dist/src/web/api/config/api-config.js.map +1 -0
- package/.claude-flow-novice/dist/src/web/api/middleware/auth.js +205 -0
- package/.claude-flow-novice/dist/src/web/api/middleware/auth.js.map +1 -0
- package/.claude-flow-novice/dist/src/web/api/middleware/cache.js +262 -0
- package/.claude-flow-novice/dist/src/web/api/middleware/cache.js.map +1 -0
- package/.claude-flow-novice/dist/src/web/api/middleware/error-handler.js +250 -0
- package/.claude-flow-novice/dist/src/web/api/middleware/error-handler.js.map +1 -0
- package/.claude-flow-novice/dist/src/web/api/middleware/request-logger.js +217 -0
- package/.claude-flow-novice/dist/src/web/api/middleware/request-logger.js.map +1 -0
- package/.claude-flow-novice/dist/src/web/api/middleware/validation.js +325 -0
- package/.claude-flow-novice/dist/src/web/api/middleware/validation.js.map +1 -0
- package/.claude-flow-novice/dist/src/web/api/routes/events.js +465 -0
- package/.claude-flow-novice/dist/src/web/api/routes/events.js.map +1 -0
- package/.claude-flow-novice/dist/src/web/api/routes/hierarchy.js +302 -0
- package/.claude-flow-novice/dist/src/web/api/routes/hierarchy.js.map +1 -0
- package/.claude-flow-novice/dist/src/web/api/routes/index.js +14 -0
- package/.claude-flow-novice/dist/src/web/api/routes/index.js.map +1 -0
- package/.claude-flow-novice/dist/src/web/api/routes/metrics.js +561 -0
- package/.claude-flow-novice/dist/src/web/api/routes/metrics.js.map +1 -0
- package/.claude-flow-novice/dist/src/web/api/routes/status.js +450 -0
- package/.claude-flow-novice/dist/src/web/api/routes/status.js.map +1 -0
- package/.claude-flow-novice/dist/src/web/api/server.js +451 -0
- package/.claude-flow-novice/dist/src/web/api/server.js.map +1 -0
- package/.claude-flow-novice/dist/src/web/dashboard/hooks/useWebSocket.js +385 -0
- package/.claude-flow-novice/dist/src/web/dashboard/hooks/useWebSocket.js.map +1 -0
- package/.claude-flow-novice/dist/src/web/dashboard/index.js +87 -0
- package/.claude-flow-novice/dist/src/web/dashboard/index.js.map +1 -0
- package/.claude-flow-novice/dist/src/web/dashboard/types.js +6 -0
- package/.claude-flow-novice/dist/src/web/dashboard/types.js.map +1 -0
- package/.claude-flow-novice/metrics.db +0 -0
- package/.claude-flow-novice/metrics.db-shm +0 -0
- package/.claude-flow-novice/metrics.db-wal +0 -0
- package/CLAUDE.md +29 -0
- package/README.md +27 -0
- package/config/hooks/post-edit-pipeline.js +36 -2
- package/examples/metrics-counter-demo.ts +106 -0
- package/examples/persistent-metrics-demo.ts +83 -0
- package/examples/phase-5-multi-level-control.ts +282 -0
- package/examples/session-pool-optimizer-example.ts +311 -0
- package/package.json +15 -3
- package/scripts/check-routing-stats.cjs +122 -0
- package/scripts/pre-publish-validation.cjs +212 -0
- package/scripts/test-provider-routing.cjs +228 -0
- package/scripts/test-routing-telemetry.cjs +147 -0
- package/scripts/test-zai-10k.cjs +81 -0
- package/scripts/test-zai-api.cjs +191 -0
- package/scripts/test-zai-diagnostic.cjs +151 -0
- package/scripts/test-zai-final.cjs +128 -0
- package/scripts/test-zai-with-env.cjs +85 -0
- package/scripts/validate-coordination-cli.js +69 -0
- package/scripts/validate-coordination-toggle-integration.cjs +501 -0
- package/src/cli/simple-commands/init/templates/CLAUDE.md +29 -0
- package/src/observability/metrics-counter.ts +347 -0
- package/src/observability/metrics-storage.ts +356 -0
- package/src/observability/telemetry.ts +658 -0
- package/src/slash-commands/cfn-claude-sync.js +533 -0
- package/src/slash-commands/index.js +5 -0
- package/src/slash-commands/metrics-summary-class.js +74 -0
- package/src/slash-commands/metrics-summary.js +335 -0
- package/src/slash-commands/register-all-commands.js +12 -0
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
import { promises as fs } from 'node:fs';
|
|
5
5
|
import { success, error, warning } from '../cli-core.js';
|
|
6
6
|
import { BackgroundExecutor } from '../../coordination/background-executor.js';
|
|
7
|
-
import { SwarmCoordinator } from '../../coordination/swarm-coordinator.js';
|
|
8
7
|
import { SwarmMemoryManager } from '../../memory/swarm-memory.js';
|
|
9
8
|
import { setSwarmCoordinator } from '../../coordination/swarm-coordinator-factory.js';
|
|
10
9
|
import { requireSwarmInit } from '../../validators/swarm-init-validator.js';
|
|
@@ -37,6 +36,14 @@ export async function swarmAction(ctx) {
|
|
|
37
36
|
console.log(' --persistence Enable task persistence (default: true)');
|
|
38
37
|
console.log(' --validate-swarm-init Validate swarm initialization (default: true)');
|
|
39
38
|
console.log(' --skip-validation Skip swarm initialization validation');
|
|
39
|
+
console.log(' --coordination-version <v1|v2> Select coordination system (default: v2, env: COORDINATION_VERSION)');
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
// Detect and validate coordination version
|
|
43
|
+
const coordinationVersion = (ctx.flags.coordinationVersion || ctx.flags['coordination-version'] || process.env.COORDINATION_VERSION || 'v2').toLowerCase();
|
|
44
|
+
// Validate coordination version
|
|
45
|
+
if (coordinationVersion !== 'v1' && coordinationVersion !== 'v2') {
|
|
46
|
+
error(`Invalid coordination version: ${coordinationVersion}. Must be 'v1' or 'v2'. Use --coordination-version flag or COORDINATION_VERSION env var.`);
|
|
40
47
|
return;
|
|
41
48
|
}
|
|
42
49
|
const options = {
|
|
@@ -57,13 +64,15 @@ export async function swarmAction(ctx) {
|
|
|
57
64
|
background: ctx.flags.background || false,
|
|
58
65
|
persistence: ctx.flags.persistence || true,
|
|
59
66
|
distributed: ctx.flags.distributed || false,
|
|
60
|
-
validateSwarmInit: ctx.flags.validateSwarmInit || ctx.flags['validate-swarm-init'] || !ctx.flags.skipValidation || !ctx.flags['skip-validation']
|
|
67
|
+
validateSwarmInit: ctx.flags.validateSwarmInit || ctx.flags['validate-swarm-init'] || !ctx.flags.skipValidation || !ctx.flags['skip-validation'],
|
|
68
|
+
coordinationVersion: coordinationVersion
|
|
61
69
|
};
|
|
62
70
|
const swarmId = generateId('swarm');
|
|
63
71
|
if (options.dryRun) {
|
|
64
72
|
warning('DRY RUN - Swarm Configuration:');
|
|
65
73
|
console.log(`Swarm ID: ${swarmId}`);
|
|
66
74
|
console.log(`Objective: ${objective}`);
|
|
75
|
+
console.log(`Coordination Version: ${options.coordinationVersion}`);
|
|
67
76
|
console.log(`Strategy: ${options.strategy}`);
|
|
68
77
|
console.log(`Max Agents: ${options.maxAgents}`);
|
|
69
78
|
console.log(`Max Depth: ${options.maxDepth}`);
|
|
@@ -97,8 +106,8 @@ export async function swarmAction(ctx) {
|
|
|
97
106
|
stdout: 'inherit',
|
|
98
107
|
stderr: 'inherit'
|
|
99
108
|
});
|
|
100
|
-
const
|
|
101
|
-
const { code } = await
|
|
109
|
+
const process1 = command.spawn();
|
|
110
|
+
const { code } = await process1.status;
|
|
102
111
|
if (code !== 0) {
|
|
103
112
|
error(`Swarm UI exited with code ${code}`);
|
|
104
113
|
}
|
|
@@ -113,17 +122,24 @@ export async function swarmAction(ctx) {
|
|
|
113
122
|
success(`š Initializing Claude Swarm: ${swarmId}`);
|
|
114
123
|
console.log(`š Objective: ${objective}`);
|
|
115
124
|
console.log(`šÆ Strategy: ${options.strategy}`);
|
|
125
|
+
console.log(`š§ Coordination: ${options.coordinationVersion.toUpperCase()}`);
|
|
116
126
|
try {
|
|
117
|
-
// Initialize swarm coordination
|
|
118
|
-
const
|
|
127
|
+
// Phase 11: Initialize swarm coordination with version toggle
|
|
128
|
+
const { CoordinationToggle } = await import('../../coordination/coordination-toggle.js');
|
|
129
|
+
const coordinator = await CoordinationToggle.create({
|
|
130
|
+
version: coordinationVersion,
|
|
131
|
+
topology: options.maxAgents <= 7 ? 'mesh' : 'hierarchical',
|
|
119
132
|
maxAgents: options.maxAgents,
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
133
|
+
strategy: options.strategy === 'auto' ? 'balanced' : options.strategy,
|
|
134
|
+
enableConsensus: options.distributed,
|
|
135
|
+
tokenBudget: 20000,
|
|
136
|
+
// V1-specific dependencies (required when version=v1)
|
|
137
|
+
v1Dependencies: coordinationVersion === 'v1' ? {
|
|
138
|
+
memory: await import('../../memory/swarm-memory.js').then((m)=>m.SwarmMemory),
|
|
139
|
+
broker: await import('../../messaging/message-broker.js').then((m)=>m.MessageBroker),
|
|
140
|
+
dependencyGraph: await import('../../coordination/dependency-graph.js').then((m)=>m.DependencyGraph),
|
|
141
|
+
logger: console
|
|
142
|
+
} : undefined
|
|
127
143
|
});
|
|
128
144
|
// Initialize background executor
|
|
129
145
|
const executor = new BackgroundExecutor({
|
|
@@ -182,6 +198,7 @@ export async function swarmAction(ctx) {
|
|
|
182
198
|
swarmId,
|
|
183
199
|
objectiveId,
|
|
184
200
|
objective,
|
|
201
|
+
coordinationVersion: options.coordinationVersion,
|
|
185
202
|
options,
|
|
186
203
|
agents,
|
|
187
204
|
startTime: new Date().toISOString()
|
|
@@ -432,8 +449,8 @@ exit \${PIPESTATUS[0]}`;
|
|
|
432
449
|
stderr: 'inherit'
|
|
433
450
|
});
|
|
434
451
|
try {
|
|
435
|
-
const
|
|
436
|
-
const { code, success } = await
|
|
452
|
+
const process1 = command.spawn();
|
|
453
|
+
const { code, success } = await process1.status;
|
|
437
454
|
console.log(` āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā`);
|
|
438
455
|
if (!success) {
|
|
439
456
|
throw new Error(`Claude exited with code ${code}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/cli/commands/swarm.ts"],"names":["generateId","promises","fs","success","error","warning","BackgroundExecutor","SwarmCoordinator","SwarmMemoryManager","setSwarmCoordinator","requireSwarmInit","swarmAction","ctx","flags","help","h","objective","args","join","trim","console","log","options","strategy","maxAgents","maxDepth","research","parallel","memoryNamespace","timeout","review","coordinator","config","c","verbose","v","dryRun","d","monitor","ui","background","persistence","distributed","validateSwarmInit","skipValidation","swarmId","scriptPath","URL","url","pathname","projectRoot","substring","indexOf","uiScriptPath","stat","command","Deno","Command","stdin","stdout","stderr","process","spawn","code","status","err","message","maxConcurrentTasks","taskTimeout","enableMonitoring","enableWorkStealing","enableCircuitBreaker","coordinationStrategy","executor","defaultTimeout","logPath","enablePersistence","memory","namespace","enableDistribution","enableKnowledgeBase","persistencePath","start","initialize","swarmDir","mkdir","recursive","objectiveId","createObjective","agentTypes","getAgentTypesForStrategy","agents","initialized","topology","validationError","i","Math","min","length","agentType","agentId","registerAgent","getCapabilitiesForType","push","writeFile","JSON","stringify","startTime","Date","toISOString","executeObjective","coordinatorRunning","pid","waitForObjectiveCompletion","endTime","swarmStatus","getSwarmStatus","objectives","tasks","completed","failed","total","stop","shutdown","decomposeObjective","subtasks","type","description","toLowerCase","includes","executeParallelTasks","map","task","index","agentDir","executeAgentTask","Promise","all","executeSequentialTasks","entries","checkClaude","checkResult","output","simulate","promptFile","prompt","tools","claudeArgs","wrapperScript","arg","wrapperPath","chmod","Error","claudeFlowArgs","claudeFlowPath","claudeFlowBin","TextDecoder","decode","resolve","checkInterval","setInterval","getObjectiveStatus","clearInterval","setTimeout"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../../src/cli/commands/swarm.ts"],"names":["generateId","promises","fs","success","error","warning","BackgroundExecutor","SwarmMemoryManager","setSwarmCoordinator","requireSwarmInit","swarmAction","ctx","flags","help","h","objective","args","join","trim","console","log","coordinationVersion","process","env","COORDINATION_VERSION","toLowerCase","options","strategy","maxAgents","maxDepth","research","parallel","memoryNamespace","timeout","review","coordinator","config","c","verbose","v","dryRun","d","monitor","ui","background","persistence","distributed","validateSwarmInit","skipValidation","swarmId","scriptPath","URL","url","pathname","projectRoot","substring","indexOf","uiScriptPath","stat","command","Deno","Command","stdin","stdout","stderr","spawn","code","status","err","message","toUpperCase","CoordinationToggle","create","version","topology","enableConsensus","tokenBudget","v1Dependencies","memory","then","m","SwarmMemory","broker","MessageBroker","dependencyGraph","DependencyGraph","logger","undefined","executor","maxConcurrentTasks","defaultTimeout","logPath","enablePersistence","namespace","enableDistribution","enableKnowledgeBase","persistencePath","start","initialize","swarmDir","mkdir","recursive","objectiveId","createObjective","agentTypes","getAgentTypesForStrategy","agents","initialized","validationError","i","Math","min","length","agentType","agentId","registerAgent","getCapabilitiesForType","push","writeFile","JSON","stringify","startTime","Date","toISOString","executeObjective","coordinatorRunning","pid","waitForObjectiveCompletion","endTime","swarmStatus","getSwarmStatus","objectives","tasks","completed","failed","total","stop","shutdown","decomposeObjective","subtasks","type","description","includes","executeParallelTasks","map","task","index","agentDir","executeAgentTask","Promise","all","executeSequentialTasks","entries","checkClaude","checkResult","output","simulate","promptFile","prompt","tools","claudeArgs","wrapperScript","arg","wrapperPath","chmod","Error","claudeFlowArgs","claudeFlowPath","claudeFlowBin","TextDecoder","decode","resolve","checkInterval","setInterval","getObjectiveStatus","clearInterval","setTimeout"],"mappings":"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"}
|
|
@@ -0,0 +1,455 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Transparency CLI Command
|
|
3
|
+
*
|
|
4
|
+
* Provides command-line interface for V2 coordination system transparency.
|
|
5
|
+
* Enables real-time monitoring, hierarchy visualization, and event streaming.
|
|
6
|
+
*
|
|
7
|
+
* @module cli/commands/transparency
|
|
8
|
+
*/ import { Command } from 'commander';
|
|
9
|
+
import { table } from 'console-table-printer';
|
|
10
|
+
import chalk from 'chalk';
|
|
11
|
+
/**
|
|
12
|
+
* Format bytes to human readable string
|
|
13
|
+
*/ function formatBytes(bytes) {
|
|
14
|
+
if (bytes === 0) return '0 B';
|
|
15
|
+
const k = 1024;
|
|
16
|
+
const sizes = [
|
|
17
|
+
'B',
|
|
18
|
+
'KB',
|
|
19
|
+
'MB',
|
|
20
|
+
'GB'
|
|
21
|
+
];
|
|
22
|
+
const i = Math.floor(Math.log(bytes) / Math.log(k));
|
|
23
|
+
return parseFloat((bytes / Math.pow(k, i)).toFixed(2)) + ' ' + sizes[i];
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Format duration to human readable string
|
|
27
|
+
*/ function formatDuration(ms) {
|
|
28
|
+
if (ms < 1000) return `${ms}ms`;
|
|
29
|
+
if (ms < 60000) return `${(ms / 1000).toFixed(1)}s`;
|
|
30
|
+
if (ms < 3600000) return `${(ms / 60000).toFixed(1)}m`;
|
|
31
|
+
return `${(ms / 3600000).toFixed(1)}h`;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Get state color for terminal output
|
|
35
|
+
*/ function getStateColor(state) {
|
|
36
|
+
const stateColors = {
|
|
37
|
+
idle: chalk.gray,
|
|
38
|
+
active: chalk.green,
|
|
39
|
+
paused: chalk.yellow,
|
|
40
|
+
terminated: chalk.red,
|
|
41
|
+
error: chalk.red.bold,
|
|
42
|
+
completing: chalk.blue,
|
|
43
|
+
checkpointing: chalk.cyan,
|
|
44
|
+
waiting_for_dependency: chalk.magenta
|
|
45
|
+
};
|
|
46
|
+
return stateColors[state] || chalk.white;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Get performance indicator
|
|
50
|
+
*/ function getPerformanceIndicator(value, threshold, unit) {
|
|
51
|
+
const percentage = value / threshold * 100;
|
|
52
|
+
if (percentage < 50) return chalk.green(`ā ${value}${unit}`);
|
|
53
|
+
if (percentage < 80) return chalk.yellow(`ā ${value}${unit}`);
|
|
54
|
+
return chalk.red(`ā ${value}${unit}`);
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Display agent hierarchy tree
|
|
58
|
+
*/ async function displayHierarchy(transparency, options) {
|
|
59
|
+
const hierarchy = await transparency.getAgentHierarchy();
|
|
60
|
+
if (options.level !== undefined) {
|
|
61
|
+
hierarchy.filter((node)=>node.level === options.level);
|
|
62
|
+
}
|
|
63
|
+
if (options.type) {
|
|
64
|
+
hierarchy.filter((node)=>node.type === options.type);
|
|
65
|
+
}
|
|
66
|
+
if (options.state) {
|
|
67
|
+
hierarchy.filter((node)=>node.state === options.state);
|
|
68
|
+
}
|
|
69
|
+
if (hierarchy.length === 0) {
|
|
70
|
+
console.log(chalk.yellow('No agents found matching criteria'));
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
console.log(chalk.bold.blue('\nš Agent Hierarchy'));
|
|
74
|
+
console.log(chalk.gray('ā'.repeat(80)));
|
|
75
|
+
// Group by level for tree display
|
|
76
|
+
const byLevel = new Map();
|
|
77
|
+
hierarchy.forEach((node)=>{
|
|
78
|
+
if (!byLevel.has(node.level)) {
|
|
79
|
+
byLevel.set(node.level, []);
|
|
80
|
+
}
|
|
81
|
+
byLevel.get(node.level).push(node);
|
|
82
|
+
});
|
|
83
|
+
// Display hierarchy tree
|
|
84
|
+
const maxLevel = Math.max(...Array.from(byLevel.keys()));
|
|
85
|
+
for(let level = 1; level <= maxLevel; level++){
|
|
86
|
+
const agents = byLevel.get(level) || [];
|
|
87
|
+
if (agents.length === 0) continue;
|
|
88
|
+
console.log(chalk.bold(`\nLevel ${level} (${agents.length} agents):`));
|
|
89
|
+
agents.forEach((agent)=>{
|
|
90
|
+
const indent = ' '.repeat(level - 1);
|
|
91
|
+
const stateColor = getStateColor(agent.state);
|
|
92
|
+
const agentIcon = agent.isPaused ? 'āøļø' : 'ā¶ļø';
|
|
93
|
+
console.log(`${indent}${agentIcon} ${chalk.cyan(agent.agentId)} (${agent.type})`);
|
|
94
|
+
console.log(`${indent} State: ${stateColor(agent.state)}`);
|
|
95
|
+
console.log(`${indent} Tokens: ${agent.tokensUsed}/${agent.tokenBudget}`);
|
|
96
|
+
console.log(`${indent} Created: ${formatDuration(Date.now() - agent.createdAt.getTime())} ago`);
|
|
97
|
+
if (agent.currentTask) {
|
|
98
|
+
console.log(`${indent} Task: ${agent.currentTask}`);
|
|
99
|
+
}
|
|
100
|
+
if (agent.childAgentIds.length > 0) {
|
|
101
|
+
console.log(`${indent} Children: ${agent.childAgentIds.length}`);
|
|
102
|
+
}
|
|
103
|
+
if (options.verbose && agent.waitingFor.length > 0) {
|
|
104
|
+
console.log(`${indent} Waiting for: ${agent.waitingFor.join(', ')}`);
|
|
105
|
+
}
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
// Summary statistics
|
|
109
|
+
const totalTokens = hierarchy.reduce((sum, agent)=>sum + agent.tokensUsed, 0);
|
|
110
|
+
const totalBudget = hierarchy.reduce((sum, agent)=>sum + agent.tokenBudget, 0);
|
|
111
|
+
const activeCount = hierarchy.filter((agent)=>!agent.isPaused && agent.state !== 'terminated').length;
|
|
112
|
+
const pausedCount = hierarchy.filter((agent)=>agent.isPaused).length;
|
|
113
|
+
console.log(chalk.bold('\nš Summary:'));
|
|
114
|
+
console.log(`Total Agents: ${hierarchy.length}`);
|
|
115
|
+
console.log(`Active: ${chalk.green(activeCount)} | Paused: ${chalk.yellow(pausedCount)}`);
|
|
116
|
+
console.log(`Token Usage: ${totalTokens.toLocaleString()} / ${totalBudget.toLocaleString()} (${(totalTokens / totalBudget * 100).toFixed(1)}%)`);
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Display real-time agent status
|
|
120
|
+
*/ async function displayAgentStatus(transparency, options) {
|
|
121
|
+
const statuses = await transparency.getAllAgentStatuses();
|
|
122
|
+
if (options.type) {
|
|
123
|
+
statuses.filter((status)=>status.agentId.includes(options.type));
|
|
124
|
+
}
|
|
125
|
+
if (options.state) {
|
|
126
|
+
statuses.filter((status)=>status.state === options.state);
|
|
127
|
+
}
|
|
128
|
+
if (statuses.length === 0) {
|
|
129
|
+
console.log(chalk.yellow('No agents found'));
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
132
|
+
console.log(chalk.bold.blue('\nš Agent Status'));
|
|
133
|
+
console.log(chalk.gray('ā'.repeat(120)));
|
|
134
|
+
// Prepare table data
|
|
135
|
+
const tableData = statuses.map((status)=>({
|
|
136
|
+
'Agent ID': chalk.cyan(status.agentId),
|
|
137
|
+
'State': getStateColor(status.state)(status.state),
|
|
138
|
+
'Activity': status.activity,
|
|
139
|
+
'Progress': `${status.progress}%`,
|
|
140
|
+
'Tokens': status.tokensUsed.toLocaleString(),
|
|
141
|
+
'Rate': `${status.tokenUsageRate.toFixed(1)}/s`,
|
|
142
|
+
'Memory': formatBytes(status.memoryUsage),
|
|
143
|
+
'CPU': `${status.cpuUsage.toFixed(1)}%`,
|
|
144
|
+
'Last Seen': formatDuration(Date.now() - status.lastHeartbeat.getTime()) + ' ago',
|
|
145
|
+
'Errors': status.recentErrors.length > 0 ? chalk.red(status.recentErrors.length) : '0'
|
|
146
|
+
}));
|
|
147
|
+
// Display table
|
|
148
|
+
table(tableData, {
|
|
149
|
+
columns: [
|
|
150
|
+
{
|
|
151
|
+
name: 'Agent ID',
|
|
152
|
+
alignment: 'left'
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
name: 'State',
|
|
156
|
+
alignment: 'center'
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
name: 'Activity',
|
|
160
|
+
alignment: 'left'
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
name: 'Progress',
|
|
164
|
+
alignment: 'center'
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
name: 'Tokens',
|
|
168
|
+
alignment: 'right'
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
name: 'Rate',
|
|
172
|
+
alignment: 'right'
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
name: 'Memory',
|
|
176
|
+
alignment: 'right'
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
name: 'CPU',
|
|
180
|
+
alignment: 'right'
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
name: 'Last Seen',
|
|
184
|
+
alignment: 'right'
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
name: 'Errors',
|
|
188
|
+
alignment: 'center'
|
|
189
|
+
}
|
|
190
|
+
]
|
|
191
|
+
});
|
|
192
|
+
// Performance alerts
|
|
193
|
+
const performanceAlerts = statuses.filter((status)=>status.tokenUsageRate > 50 || status.memoryUsage > 100 * 1024 * 1024 || status.cpuUsage > 80);
|
|
194
|
+
if (performanceAlerts.length > 0) {
|
|
195
|
+
console.log(chalk.bold.red('\nā ļø Performance Alerts:'));
|
|
196
|
+
performanceAlerts.forEach((status)=>{
|
|
197
|
+
console.log(chalk.red(` ${status.agentId}:`));
|
|
198
|
+
if (status.tokenUsageRate > 50) {
|
|
199
|
+
console.log(` High token rate: ${getPerformanceIndicator(status.tokenUsageRate, 100, '/s')}`);
|
|
200
|
+
}
|
|
201
|
+
if (status.memoryUsage > 100 * 1024 * 1024) {
|
|
202
|
+
console.log(` High memory: ${getPerformanceIndicator(status.memoryUsage, 512 * 1024 * 1024, '')}`);
|
|
203
|
+
}
|
|
204
|
+
if (status.cpuUsage > 80) {
|
|
205
|
+
console.log(` High CPU: ${getPerformanceIndicator(status.cpuUsage, 100, '%')}`);
|
|
206
|
+
}
|
|
207
|
+
});
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Display recent events
|
|
212
|
+
*/ async function displayEvents(transparency, options) {
|
|
213
|
+
const limit = options.events || 20;
|
|
214
|
+
const events = await transparency.getRecentEvents(limit);
|
|
215
|
+
if (events.length === 0) {
|
|
216
|
+
console.log(chalk.yellow('No recent events'));
|
|
217
|
+
return;
|
|
218
|
+
}
|
|
219
|
+
console.log(chalk.bold.blue(`\nš Recent Events (Last ${limit})`));
|
|
220
|
+
console.log(chalk.gray('ā'.repeat(100)));
|
|
221
|
+
events.forEach((event)=>{
|
|
222
|
+
const timeAgo = formatDuration(Date.now() - event.timestamp.getTime()) + ' ago';
|
|
223
|
+
const eventTypeColor = getEventTypeColor(event.eventType);
|
|
224
|
+
console.log(`${chalk.gray(timeAgo)} ${eventTypeColor(event.eventType.toUpperCase())} ${chalk.cyan(event.agentId)}`);
|
|
225
|
+
if (event.eventData.reason) {
|
|
226
|
+
console.log(` Reason: ${event.eventData.reason}`);
|
|
227
|
+
}
|
|
228
|
+
if (event.eventData.taskDescription) {
|
|
229
|
+
console.log(` Task: ${event.eventData.taskDescription}`);
|
|
230
|
+
}
|
|
231
|
+
if (event.eventData.errorMessage) {
|
|
232
|
+
console.log(` Error: ${chalk.red(event.eventData.errorMessage)}`);
|
|
233
|
+
}
|
|
234
|
+
if (options.verbose) {
|
|
235
|
+
console.log(` Level: ${event.level} | Session: ${event.sessionId}`);
|
|
236
|
+
if (event.performanceImpact.duration) {
|
|
237
|
+
console.log(` Duration: ${formatDuration(event.performanceImpact.duration)}`);
|
|
238
|
+
}
|
|
239
|
+
if (event.performanceImpact.tokenCost) {
|
|
240
|
+
console.log(` Token Cost: ${event.performanceImpact.tokenCost}`);
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
console.log();
|
|
244
|
+
});
|
|
245
|
+
}
|
|
246
|
+
/**
|
|
247
|
+
* Display transparency metrics
|
|
248
|
+
*/ async function displayMetrics(transparency, options) {
|
|
249
|
+
const metrics = await transparency.getTransparencyMetrics();
|
|
250
|
+
const hierarchyAnalytics = await transparency.getHierarchyAnalytics();
|
|
251
|
+
console.log(chalk.bold.blue('\nš Transparency Metrics'));
|
|
252
|
+
console.log(chalk.gray('ā'.repeat(80)));
|
|
253
|
+
// Overview metrics
|
|
254
|
+
console.log(chalk.bold('\nšÆ Overview:'));
|
|
255
|
+
console.log(`Total Agents: ${metrics.totalAgents}`);
|
|
256
|
+
console.log(`Hierarchy Depth: ${hierarchyAnalytics.depth} levels`);
|
|
257
|
+
console.log(`Branching Factor: ${hierarchyAnalytics.branchingFactor.toFixed(1)}`);
|
|
258
|
+
console.log(`Hierarchy Balance: ${hierarchyAnalytics.balance.toFixed(1)}%`);
|
|
259
|
+
console.log(`System Efficiency: ${hierarchyAnalytics.efficiency.toFixed(1)}%`);
|
|
260
|
+
// Agent distribution
|
|
261
|
+
console.log(chalk.bold('\nš„ Agent Distribution:'));
|
|
262
|
+
Object.entries(metrics.agentsByState).forEach(([state, count])=>{
|
|
263
|
+
const stateColor = getStateColor(state);
|
|
264
|
+
console.log(` ${stateColor(state)}: ${count}`);
|
|
265
|
+
});
|
|
266
|
+
Object.entries(metrics.agentsByLevel).forEach(([level, count])=>{
|
|
267
|
+
console.log(` Level ${level}: ${count}`);
|
|
268
|
+
});
|
|
269
|
+
Object.entries(metrics.agentsByType).forEach(([type, count])=>{
|
|
270
|
+
console.log(` ${type}: ${count}`);
|
|
271
|
+
});
|
|
272
|
+
// Performance metrics
|
|
273
|
+
console.log(chalk.bold('\nā” Performance:'));
|
|
274
|
+
console.log(`Average Execution Time: ${formatDuration(metrics.averageExecutionTimeMs)}`);
|
|
275
|
+
console.log(`Failure Rate: ${metrics.failureRate.toFixed(1)}%`);
|
|
276
|
+
console.log(`Dependency Resolution Rate: ${metrics.dependencyResolutionRate.toFixed(1)}%`);
|
|
277
|
+
console.log(`Average Pause/Resume Latency: ${formatDuration(metrics.averagePauseResumeLatencyMs)}`);
|
|
278
|
+
// Token metrics
|
|
279
|
+
console.log(chalk.bold('\nš° Token Usage:'));
|
|
280
|
+
console.log(`Total Consumed: ${metrics.totalTokensConsumed.toLocaleString()}`);
|
|
281
|
+
console.log(`Total Saved: ${chalk.green(metrics.totalTokensSaved.toLocaleString())}`);
|
|
282
|
+
console.log(`Event Stream: ${metrics.eventStreamStats.eventsPerSecond.toFixed(1)} events/sec`);
|
|
283
|
+
// Event statistics
|
|
284
|
+
if (options.verbose) {
|
|
285
|
+
console.log(chalk.bold('\nš Event Statistics:'));
|
|
286
|
+
console.log(`Total Events: ${metrics.eventStreamStats.totalEvents}`);
|
|
287
|
+
Object.entries(metrics.eventStreamStats.eventTypes).forEach(([type, count])=>{
|
|
288
|
+
console.log(` ${type}: ${count}`);
|
|
289
|
+
});
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
/**
|
|
293
|
+
* Get color for event type
|
|
294
|
+
*/ function getEventTypeColor(eventType) {
|
|
295
|
+
const eventColors = {
|
|
296
|
+
spawned: chalk.green,
|
|
297
|
+
paused: chalk.yellow,
|
|
298
|
+
resumed: chalk.blue,
|
|
299
|
+
terminated: chalk.red,
|
|
300
|
+
checkpoint_created: chalk.cyan,
|
|
301
|
+
checkpoint_restored: chalk.blue,
|
|
302
|
+
state_changed: chalk.magenta,
|
|
303
|
+
task_assigned: chalk.green,
|
|
304
|
+
task_completed: chalk.green,
|
|
305
|
+
error_occurred: chalk.red.bold
|
|
306
|
+
};
|
|
307
|
+
return eventColors[eventType] || chalk.white;
|
|
308
|
+
}
|
|
309
|
+
/**
|
|
310
|
+
* Export data to JSON
|
|
311
|
+
*/ async function exportToJson(transparency, options) {
|
|
312
|
+
const data = {
|
|
313
|
+
timestamp: new Date().toISOString(),
|
|
314
|
+
hierarchy: await transparency.getAgentHierarchy(),
|
|
315
|
+
statuses: await transparency.getAllAgentStatuses(),
|
|
316
|
+
metrics: await transparency.getTransparencyMetrics(),
|
|
317
|
+
events: await transparency.getRecentEvents(options.events || 100)
|
|
318
|
+
};
|
|
319
|
+
if (options.performance) {
|
|
320
|
+
// Add performance metrics for each agent
|
|
321
|
+
data.performance = {};
|
|
322
|
+
for (const agent of data.hierarchy){
|
|
323
|
+
data.performance[agent.agentId] = await transparency.getAgentPerformanceMetrics(agent.agentId);
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
console.log(JSON.stringify(data, null, 2));
|
|
327
|
+
}
|
|
328
|
+
/**
|
|
329
|
+
* Watch mode - real-time updates
|
|
330
|
+
*/ async function watchMode(transparency, options) {
|
|
331
|
+
const interval = (options.interval || 5) * 1000;
|
|
332
|
+
console.log(chalk.bold.blue(`\nš Transparency Watch Mode (Update every ${options.interval}s)`));
|
|
333
|
+
console.log(chalk.gray('Press Ctrl+C to exit\n'));
|
|
334
|
+
const display = async ()=>{
|
|
335
|
+
// Clear screen
|
|
336
|
+
console.clear();
|
|
337
|
+
// Display timestamp
|
|
338
|
+
console.log(chalk.bold(`Last Updated: ${new Date().toLocaleString()}`));
|
|
339
|
+
// Show all views
|
|
340
|
+
await displayHierarchy(transparency, options);
|
|
341
|
+
await displayAgentStatus(transparency, options);
|
|
342
|
+
if (options.events) {
|
|
343
|
+
await displayEvents(transparency, options);
|
|
344
|
+
}
|
|
345
|
+
if (options.performance) {
|
|
346
|
+
await displayMetrics(transparency, options);
|
|
347
|
+
}
|
|
348
|
+
};
|
|
349
|
+
// Initial display
|
|
350
|
+
await display();
|
|
351
|
+
// Set up interval for updates
|
|
352
|
+
const updateInterval = setInterval(display, interval);
|
|
353
|
+
// Handle graceful shutdown
|
|
354
|
+
process.on('SIGINT', ()=>{
|
|
355
|
+
clearInterval(updateInterval);
|
|
356
|
+
console.log(chalk.yellow('\n\nš Transparency watch mode stopped'));
|
|
357
|
+
process.exit(0);
|
|
358
|
+
});
|
|
359
|
+
}
|
|
360
|
+
/**
|
|
361
|
+
* Create transparency CLI command
|
|
362
|
+
*/ export function createTransparencyCommand(transparency) {
|
|
363
|
+
const cmd = new Command('transparency').description('V2 Coordination System Transparency Dashboard').alias('trans').option('-w, --watch', 'Enable real-time watch mode').option('-i, --interval <seconds>', 'Update interval for watch mode (default: 5)', '5').option('-t, --type <type>', 'Filter by agent type').option('-l, --level <level>', 'Filter by hierarchy level', parseInt).option('-s, --state <state>', 'Filter by agent state').option('-p, --performance', 'Show performance metrics').option('-e, --events <count>', 'Show recent events (default: 20)', '20').option('-j, --json', 'Export data as JSON').option('-v, --verbose', 'Verbose output').action(async (options)=>{
|
|
364
|
+
try {
|
|
365
|
+
if (options.json) {
|
|
366
|
+
await exportToJson(transparency, options);
|
|
367
|
+
} else if (options.watch) {
|
|
368
|
+
await watchMode(transparency, options);
|
|
369
|
+
} else {
|
|
370
|
+
// Default: show hierarchy and status
|
|
371
|
+
await displayHierarchy(transparency, options);
|
|
372
|
+
await displayAgentStatus(transparency, options);
|
|
373
|
+
if (options.events) {
|
|
374
|
+
await displayEvents(transparency, options);
|
|
375
|
+
}
|
|
376
|
+
if (options.performance) {
|
|
377
|
+
await displayMetrics(transparency, options);
|
|
378
|
+
}
|
|
379
|
+
}
|
|
380
|
+
} catch (error) {
|
|
381
|
+
console.error(chalk.red('Error:'), error);
|
|
382
|
+
process.exit(1);
|
|
383
|
+
}
|
|
384
|
+
});
|
|
385
|
+
// Add subcommands for specific views
|
|
386
|
+
cmd.command('hierarchy').description('Show agent hierarchy tree').option('-l, --level <level>', 'Filter by hierarchy level', parseInt).option('-t, --type <type>', 'Filter by agent type').option('-s, --state <state>', 'Filter by agent state').option('-v, --verbose', 'Verbose output').action(async (options)=>{
|
|
387
|
+
await displayHierarchy(transparency, options);
|
|
388
|
+
});
|
|
389
|
+
cmd.command('status').description('Show real-time agent status').option('-t, --type <type>', 'Filter by agent type').option('-s, --state <state>', 'Filter by agent state').action(async (options)=>{
|
|
390
|
+
await displayAgentStatus(transparency, options);
|
|
391
|
+
});
|
|
392
|
+
cmd.command('events').description('Show recent agent lifecycle events').option('-n, --number <count>', 'Number of events to show (default: 20)', '20').option('--type <type>', 'Filter by event type').option('-v, --verbose', 'Verbose output').action(async (options)=>{
|
|
393
|
+
options.events = parseInt(options.number) || 20;
|
|
394
|
+
await displayEvents(transparency, options);
|
|
395
|
+
});
|
|
396
|
+
cmd.command('metrics').description('Show transparency and performance metrics').option('-v, --verbose', 'Verbose output').action(async (options)=>{
|
|
397
|
+
await displayMetrics(transparency, options);
|
|
398
|
+
});
|
|
399
|
+
cmd.command('agent <agentId>').description('Show detailed information for specific agent').option('-p, --performance', 'Include performance metrics').option('-e, --events <count>', 'Show recent events (default: 10)', '10').action(async (agentId, options)=>{
|
|
400
|
+
try {
|
|
401
|
+
const status = await transparency.getAgentStatus(agentId);
|
|
402
|
+
const performance = options.performance ? await transparency.getAgentPerformanceMetrics(agentId) : null;
|
|
403
|
+
const events = await transparency.getAgentEvents(agentId, parseInt(options.events) || 10);
|
|
404
|
+
console.log(chalk.bold.blue(`\nš Agent Details: ${agentId}`));
|
|
405
|
+
console.log(chalk.gray('ā'.repeat(80)));
|
|
406
|
+
// Agent status
|
|
407
|
+
console.log(chalk.bold('\nš Status:'));
|
|
408
|
+
console.log(`State: ${getStateColor(status.state)(status.state)}`);
|
|
409
|
+
console.log(`Activity: ${status.activity}`);
|
|
410
|
+
console.log(`Progress: ${status.progress}%`);
|
|
411
|
+
console.log(`Is Paused: ${status.isPaused ? 'Yes' : 'No'}`);
|
|
412
|
+
console.log(`Last Heartbeat: ${status.lastHeartbeat.toLocaleString()}`);
|
|
413
|
+
// Resource usage
|
|
414
|
+
console.log(chalk.bold('\nš» Resource Usage:'));
|
|
415
|
+
console.log(`Tokens Used: ${status.tokensUsed.toLocaleString()}`);
|
|
416
|
+
console.log(`Token Rate: ${status.tokenUsageRate.toFixed(1)}/s`);
|
|
417
|
+
console.log(`Memory: ${formatBytes(status.memoryUsage)}`);
|
|
418
|
+
console.log(`CPU: ${status.cpuUsage.toFixed(1)}%`);
|
|
419
|
+
// Performance metrics
|
|
420
|
+
if (performance) {
|
|
421
|
+
console.log(chalk.bold('\nā” Performance:'));
|
|
422
|
+
console.log(`Execution Time: ${formatDuration(performance.executionMetrics.totalExecutionTimeMs)}`);
|
|
423
|
+
console.log(`Pause Count: ${performance.stateMetrics.pauseCount}`);
|
|
424
|
+
console.log(`Resume Count: ${performance.stateMetrics.resumeCount}`);
|
|
425
|
+
console.log(`Checkpoint Count: ${performance.stateMetrics.checkpointCount}`);
|
|
426
|
+
console.log(`Total Errors: ${performance.errorMetrics.totalErrors}`);
|
|
427
|
+
}
|
|
428
|
+
// Recent errors
|
|
429
|
+
if (status.recentErrors.length > 0) {
|
|
430
|
+
console.log(chalk.bold.red('\nā Recent Errors:'));
|
|
431
|
+
status.recentErrors.forEach((error)=>{
|
|
432
|
+
console.log(`${error.timestamp.toLocaleString()}: ${error.error} (${error.severity})`);
|
|
433
|
+
});
|
|
434
|
+
}
|
|
435
|
+
// Recent events
|
|
436
|
+
if (events.length > 0) {
|
|
437
|
+
console.log(chalk.bold('\nš Recent Events:'));
|
|
438
|
+
events.forEach((event)=>{
|
|
439
|
+
const timeAgo = formatDuration(Date.now() - event.timestamp.getTime()) + ' ago';
|
|
440
|
+
const eventTypeColor = getEventTypeColor(event.eventType);
|
|
441
|
+
console.log(`${chalk.gray(timeAgo)} ${eventTypeColor(event.eventType)}`);
|
|
442
|
+
if (event.eventData.reason) {
|
|
443
|
+
console.log(` ${event.eventData.reason}`);
|
|
444
|
+
}
|
|
445
|
+
});
|
|
446
|
+
}
|
|
447
|
+
} catch (error) {
|
|
448
|
+
console.error(chalk.red('Error:'), error);
|
|
449
|
+
process.exit(1);
|
|
450
|
+
}
|
|
451
|
+
});
|
|
452
|
+
return cmd;
|
|
453
|
+
}
|
|
454
|
+
|
|
455
|
+
//# sourceMappingURL=transparency.js.map
|