@aigentic/claude-flow 3.7.0-alpha.69
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/MIGRATION_SUMMARY.md +222 -0
- package/.claude/agents/analysis/analyze-code-quality.md +58 -0
- package/.claude/agents/analysis/code-analyzer.md +189 -0
- package/.claude/agents/analysis/code-review/analyze-code-quality.md +58 -0
- package/.claude/agents/architecture/arch-system-design.md +157 -0
- package/.claude/agents/architecture/system-design/arch-system-design.md +36 -0
- package/.claude/agents/base-template-generator.md +41 -0
- package/.claude/agents/browser/browser-agent.yaml +182 -0
- package/.claude/agents/consensus/byzantine-coordinator.md +43 -0
- package/.claude/agents/consensus/crdt-synchronizer.md +977 -0
- package/.claude/agents/consensus/gossip-coordinator.md +43 -0
- package/.claude/agents/consensus/performance-benchmarker.md +831 -0
- package/.claude/agents/consensus/quorum-manager.md +803 -0
- package/.claude/agents/consensus/raft-manager.md +43 -0
- package/.claude/agents/consensus/security-manager.md +602 -0
- package/.claude/agents/core/coder.md +255 -0
- package/.claude/agents/core/planner.md +152 -0
- package/.claude/agents/core/researcher.md +174 -0
- package/.claude/agents/core/reviewer.md +309 -0
- package/.claude/agents/core/tester.md +300 -0
- package/.claude/agents/custom/test-long-runner.md +43 -0
- package/.claude/agents/data/data-ml-model.md +445 -0
- package/.claude/agents/data/ml/data-ml-model.md +76 -0
- package/.claude/agents/database-specialist.md +9 -0
- package/.claude/agents/development/backend/dev-backend-api.md +29 -0
- package/.claude/agents/development/dev-backend-api.md +178 -0
- package/.claude/agents/devops/ci-cd/ops-cicd-github.md +52 -0
- package/.claude/agents/devops/ops-cicd-github.md +165 -0
- package/.claude/agents/documentation/api-docs/docs-api-openapi.md +63 -0
- package/.claude/agents/documentation/docs-api-openapi.md +355 -0
- package/.claude/agents/dual-mode/codex-coordinator.md +206 -0
- package/.claude/agents/dual-mode/codex-worker.md +190 -0
- package/.claude/agents/dual-mode/dual-orchestrator.md +253 -0
- package/.claude/agents/flow-nexus/app-store.md +88 -0
- package/.claude/agents/flow-nexus/authentication.md +69 -0
- package/.claude/agents/flow-nexus/challenges.md +81 -0
- package/.claude/agents/flow-nexus/neural-network.md +88 -0
- package/.claude/agents/flow-nexus/payments.md +83 -0
- package/.claude/agents/flow-nexus/sandbox.md +76 -0
- package/.claude/agents/flow-nexus/swarm.md +76 -0
- package/.claude/agents/flow-nexus/user-tools.md +96 -0
- package/.claude/agents/flow-nexus/workflow.md +84 -0
- package/.claude/agents/github/code-review-swarm.md +521 -0
- package/.claude/agents/github/github-modes.md +154 -0
- package/.claude/agents/github/issue-tracker.md +299 -0
- package/.claude/agents/github/multi-repo-swarm.md +525 -0
- package/.claude/agents/github/pr-manager.md +163 -0
- package/.claude/agents/github/project-board-sync.md +478 -0
- package/.claude/agents/github/release-manager.md +336 -0
- package/.claude/agents/github/release-swarm.md +551 -0
- package/.claude/agents/github/repo-architect.md +365 -0
- package/.claude/agents/github/swarm-issue.md +548 -0
- package/.claude/agents/github/swarm-pr.md +399 -0
- package/.claude/agents/github/sync-coordinator.md +423 -0
- package/.claude/agents/github/workflow-automation.md +605 -0
- package/.claude/agents/goal/agent.md +817 -0
- package/.claude/agents/goal/code-goal-planner.md +445 -0
- package/.claude/agents/goal/goal-planner.md +168 -0
- package/.claude/agents/hive-mind/collective-intelligence-coordinator.md +129 -0
- package/.claude/agents/hive-mind/queen-coordinator.md +202 -0
- package/.claude/agents/hive-mind/scout-explorer.md +241 -0
- package/.claude/agents/hive-mind/swarm-memory-manager.md +192 -0
- package/.claude/agents/hive-mind/worker-specialist.md +216 -0
- package/.claude/agents/neural/safla-neural.md +74 -0
- package/.claude/agents/optimization/benchmark-suite.md +663 -0
- package/.claude/agents/optimization/load-balancer.md +429 -0
- package/.claude/agents/optimization/performance-monitor.md +670 -0
- package/.claude/agents/optimization/resource-allocator.md +672 -0
- package/.claude/agents/optimization/topology-optimizer.md +806 -0
- package/.claude/agents/payments/agentic-payments.md +126 -0
- package/.claude/agents/project-coordinator.md +8 -0
- package/.claude/agents/python-specialist.md +9 -0
- package/.claude/agents/reasoning/agent.md +817 -0
- package/.claude/agents/reasoning/goal-planner.md +73 -0
- package/.claude/agents/security-auditor.md +9 -0
- package/.claude/agents/sona/sona-learning-optimizer.md +65 -0
- package/.claude/agents/sparc/architecture.md +453 -0
- package/.claude/agents/sparc/pseudocode.md +299 -0
- package/.claude/agents/sparc/refinement.md +504 -0
- package/.claude/agents/sparc/specification.md +258 -0
- package/.claude/agents/specialized/mobile/spec-mobile-react-native.md +88 -0
- package/.claude/agents/specialized/spec-mobile-react-native.md +227 -0
- package/.claude/agents/sublinear/consensus-coordinator.md +338 -0
- package/.claude/agents/sublinear/matrix-optimizer.md +185 -0
- package/.claude/agents/sublinear/pagerank-analyzer.md +299 -0
- package/.claude/agents/sublinear/performance-optimizer.md +368 -0
- package/.claude/agents/sublinear/trading-predictor.md +246 -0
- package/.claude/agents/swarm/adaptive-coordinator.md +364 -0
- package/.claude/agents/swarm/hierarchical-coordinator.md +300 -0
- package/.claude/agents/swarm/mesh-coordinator.md +363 -0
- package/.claude/agents/templates/automation-smart-agent.md +185 -0
- package/.claude/agents/templates/base-template-generator.md +289 -0
- package/.claude/agents/templates/coordinator-swarm-init.md +83 -0
- package/.claude/agents/templates/github-pr-manager.md +155 -0
- package/.claude/agents/templates/implementer-sparc-coder.md +243 -0
- package/.claude/agents/templates/memory-coordinator.md +163 -0
- package/.claude/agents/templates/migration-plan.md +724 -0
- package/.claude/agents/templates/orchestrator-task.md +120 -0
- package/.claude/agents/templates/performance-analyzer.md +179 -0
- package/.claude/agents/templates/sparc-coordinator.md +163 -0
- package/.claude/agents/testing/production-validator.md +373 -0
- package/.claude/agents/testing/tdd-london-swarm.md +222 -0
- package/.claude/agents/testing/unit/tdd-london-swarm.md +222 -0
- package/.claude/agents/testing/validation/production-validator.md +373 -0
- package/.claude/agents/typescript-specialist.md +9 -0
- package/.claude/agents/v3/adr-architect.md +184 -0
- package/.claude/agents/v3/aidefence-guardian.md +282 -0
- package/.claude/agents/v3/claims-authorizer.md +208 -0
- package/.claude/agents/v3/collective-intelligence-coordinator.md +993 -0
- package/.claude/agents/v3/database-specialist.md +9 -0
- package/.claude/agents/v3/ddd-domain-expert.md +220 -0
- package/.claude/agents/v3/injection-analyst.md +236 -0
- package/.claude/agents/v3/memory-specialist.md +995 -0
- package/.claude/agents/v3/performance-engineer.md +1233 -0
- package/.claude/agents/v3/pii-detector.md +151 -0
- package/.claude/agents/v3/project-coordinator.md +8 -0
- package/.claude/agents/v3/python-specialist.md +9 -0
- package/.claude/agents/v3/reasoningbank-learner.md +213 -0
- package/.claude/agents/v3/security-architect-aidefence.md +410 -0
- package/.claude/agents/v3/security-architect.md +867 -0
- package/.claude/agents/v3/security-auditor.md +771 -0
- package/.claude/agents/v3/sparc-orchestrator.md +182 -0
- package/.claude/agents/v3/swarm-memory-manager.md +157 -0
- package/.claude/agents/v3/test-architect.md +9 -0
- package/.claude/agents/v3/typescript-specialist.md +9 -0
- package/.claude/agents/v3/v3-integration-architect.md +312 -0
- package/.claude/agents/v3/v3-memory-specialist.md +281 -0
- package/.claude/agents/v3/v3-performance-engineer.md +363 -0
- package/.claude/agents/v3/v3-queen-coordinator.md +63 -0
- package/.claude/agents/v3/v3-security-architect.md +140 -0
- package/.claude/checkpoints/1767754460.json +8 -0
- package/.claude/commands/agents/README.md +10 -0
- package/.claude/commands/agents/agent-capabilities.md +21 -0
- package/.claude/commands/agents/agent-coordination.md +28 -0
- package/.claude/commands/agents/agent-spawning.md +28 -0
- package/.claude/commands/agents/agent-types.md +26 -0
- package/.claude/commands/analysis/COMMAND_COMPLIANCE_REPORT.md +54 -0
- package/.claude/commands/analysis/README.md +9 -0
- package/.claude/commands/analysis/bottleneck-detect.md +162 -0
- package/.claude/commands/analysis/performance-bottlenecks.md +59 -0
- package/.claude/commands/analysis/performance-report.md +25 -0
- package/.claude/commands/analysis/token-efficiency.md +45 -0
- package/.claude/commands/analysis/token-usage.md +25 -0
- package/.claude/commands/automation/README.md +9 -0
- package/.claude/commands/automation/auto-agent.md +122 -0
- package/.claude/commands/automation/self-healing.md +106 -0
- package/.claude/commands/automation/session-memory.md +90 -0
- package/.claude/commands/automation/smart-agents.md +73 -0
- package/.claude/commands/automation/smart-spawn.md +25 -0
- package/.claude/commands/automation/workflow-select.md +25 -0
- package/.claude/commands/claude-flow-help.md +103 -0
- package/.claude/commands/claude-flow-memory.md +107 -0
- package/.claude/commands/claude-flow-swarm.md +205 -0
- package/.claude/commands/coordination/README.md +9 -0
- package/.claude/commands/coordination/agent-spawn.md +25 -0
- package/.claude/commands/coordination/init.md +44 -0
- package/.claude/commands/coordination/orchestrate.md +43 -0
- package/.claude/commands/coordination/spawn.md +45 -0
- package/.claude/commands/coordination/swarm-init.md +85 -0
- package/.claude/commands/coordination/task-orchestrate.md +25 -0
- package/.claude/commands/flow-nexus/app-store.md +124 -0
- package/.claude/commands/flow-nexus/challenges.md +120 -0
- package/.claude/commands/flow-nexus/login-registration.md +65 -0
- package/.claude/commands/flow-nexus/neural-network.md +134 -0
- package/.claude/commands/flow-nexus/payments.md +116 -0
- package/.claude/commands/flow-nexus/sandbox.md +83 -0
- package/.claude/commands/flow-nexus/swarm.md +87 -0
- package/.claude/commands/flow-nexus/user-tools.md +152 -0
- package/.claude/commands/flow-nexus/workflow.md +115 -0
- package/.claude/commands/github/README.md +11 -0
- package/.claude/commands/github/code-review-swarm.md +514 -0
- package/.claude/commands/github/code-review.md +25 -0
- package/.claude/commands/github/github-modes.md +147 -0
- package/.claude/commands/github/github-swarm.md +121 -0
- package/.claude/commands/github/issue-tracker.md +292 -0
- package/.claude/commands/github/issue-triage.md +25 -0
- package/.claude/commands/github/multi-repo-swarm.md +519 -0
- package/.claude/commands/github/pr-enhance.md +26 -0
- package/.claude/commands/github/pr-manager.md +170 -0
- package/.claude/commands/github/project-board-sync.md +471 -0
- package/.claude/commands/github/release-manager.md +338 -0
- package/.claude/commands/github/release-swarm.md +544 -0
- package/.claude/commands/github/repo-analyze.md +25 -0
- package/.claude/commands/github/repo-architect.md +367 -0
- package/.claude/commands/github/swarm-issue.md +482 -0
- package/.claude/commands/github/swarm-pr.md +285 -0
- package/.claude/commands/github/sync-coordinator.md +301 -0
- package/.claude/commands/github/workflow-automation.md +442 -0
- package/.claude/commands/hive-mind/README.md +17 -0
- package/.claude/commands/hive-mind/hive-mind-consensus.md +8 -0
- package/.claude/commands/hive-mind/hive-mind-init.md +18 -0
- package/.claude/commands/hive-mind/hive-mind-memory.md +8 -0
- package/.claude/commands/hive-mind/hive-mind-metrics.md +8 -0
- package/.claude/commands/hive-mind/hive-mind-resume.md +8 -0
- package/.claude/commands/hive-mind/hive-mind-sessions.md +8 -0
- package/.claude/commands/hive-mind/hive-mind-spawn.md +21 -0
- package/.claude/commands/hive-mind/hive-mind-status.md +8 -0
- package/.claude/commands/hive-mind/hive-mind-stop.md +8 -0
- package/.claude/commands/hive-mind/hive-mind-wizard.md +8 -0
- package/.claude/commands/hive-mind/hive-mind.md +27 -0
- package/.claude/commands/hooks/README.md +11 -0
- package/.claude/commands/hooks/overview.md +58 -0
- package/.claude/commands/hooks/post-edit.md +117 -0
- package/.claude/commands/hooks/post-task.md +112 -0
- package/.claude/commands/hooks/pre-edit.md +113 -0
- package/.claude/commands/hooks/pre-task.md +111 -0
- package/.claude/commands/hooks/session-end.md +118 -0
- package/.claude/commands/hooks/setup.md +103 -0
- package/.claude/commands/memory/README.md +9 -0
- package/.claude/commands/memory/memory-persist.md +25 -0
- package/.claude/commands/memory/memory-search.md +25 -0
- package/.claude/commands/memory/memory-usage.md +25 -0
- package/.claude/commands/memory/neural.md +47 -0
- package/.claude/commands/monitoring/README.md +9 -0
- package/.claude/commands/monitoring/agent-metrics.md +25 -0
- package/.claude/commands/monitoring/agents.md +44 -0
- package/.claude/commands/monitoring/real-time-view.md +25 -0
- package/.claude/commands/monitoring/status.md +46 -0
- package/.claude/commands/monitoring/swarm-monitor.md +25 -0
- package/.claude/commands/optimization/README.md +9 -0
- package/.claude/commands/optimization/auto-topology.md +62 -0
- package/.claude/commands/optimization/cache-manage.md +25 -0
- package/.claude/commands/optimization/parallel-execute.md +25 -0
- package/.claude/commands/optimization/parallel-execution.md +50 -0
- package/.claude/commands/optimization/topology-optimize.md +25 -0
- package/.claude/commands/pair/README.md +261 -0
- package/.claude/commands/pair/commands.md +546 -0
- package/.claude/commands/pair/config.md +510 -0
- package/.claude/commands/pair/examples.md +512 -0
- package/.claude/commands/pair/modes.md +348 -0
- package/.claude/commands/pair/session.md +407 -0
- package/.claude/commands/pair/start.md +209 -0
- package/.claude/commands/sparc/analyzer.md +52 -0
- package/.claude/commands/sparc/architect.md +53 -0
- package/.claude/commands/sparc/ask.md +97 -0
- package/.claude/commands/sparc/batch-executor.md +54 -0
- package/.claude/commands/sparc/code.md +89 -0
- package/.claude/commands/sparc/coder.md +54 -0
- package/.claude/commands/sparc/debug.md +83 -0
- package/.claude/commands/sparc/debugger.md +54 -0
- package/.claude/commands/sparc/designer.md +53 -0
- package/.claude/commands/sparc/devops.md +109 -0
- package/.claude/commands/sparc/docs-writer.md +80 -0
- package/.claude/commands/sparc/documenter.md +54 -0
- package/.claude/commands/sparc/innovator.md +54 -0
- package/.claude/commands/sparc/integration.md +83 -0
- package/.claude/commands/sparc/mcp.md +117 -0
- package/.claude/commands/sparc/memory-manager.md +54 -0
- package/.claude/commands/sparc/optimizer.md +54 -0
- package/.claude/commands/sparc/orchestrator.md +132 -0
- package/.claude/commands/sparc/post-deployment-monitoring-mode.md +83 -0
- package/.claude/commands/sparc/refinement-optimization-mode.md +83 -0
- package/.claude/commands/sparc/researcher.md +54 -0
- package/.claude/commands/sparc/reviewer.md +54 -0
- package/.claude/commands/sparc/security-review.md +80 -0
- package/.claude/commands/sparc/sparc-modes.md +174 -0
- package/.claude/commands/sparc/sparc.md +111 -0
- package/.claude/commands/sparc/spec-pseudocode.md +80 -0
- package/.claude/commands/sparc/supabase-admin.md +348 -0
- package/.claude/commands/sparc/swarm-coordinator.md +54 -0
- package/.claude/commands/sparc/tdd.md +54 -0
- package/.claude/commands/sparc/tester.md +54 -0
- package/.claude/commands/sparc/tutorial.md +79 -0
- package/.claude/commands/sparc/workflow-manager.md +54 -0
- package/.claude/commands/sparc.md +166 -0
- package/.claude/commands/stream-chain/pipeline.md +121 -0
- package/.claude/commands/stream-chain/run.md +70 -0
- package/.claude/commands/swarm/README.md +15 -0
- package/.claude/commands/swarm/analysis.md +95 -0
- package/.claude/commands/swarm/development.md +96 -0
- package/.claude/commands/swarm/examples.md +168 -0
- package/.claude/commands/swarm/maintenance.md +102 -0
- package/.claude/commands/swarm/optimization.md +117 -0
- package/.claude/commands/swarm/research.md +136 -0
- package/.claude/commands/swarm/swarm-analysis.md +8 -0
- package/.claude/commands/swarm/swarm-background.md +8 -0
- package/.claude/commands/swarm/swarm-init.md +19 -0
- package/.claude/commands/swarm/swarm-modes.md +8 -0
- package/.claude/commands/swarm/swarm-monitor.md +8 -0
- package/.claude/commands/swarm/swarm-spawn.md +19 -0
- package/.claude/commands/swarm/swarm-status.md +8 -0
- package/.claude/commands/swarm/swarm-strategies.md +8 -0
- package/.claude/commands/swarm/swarm.md +27 -0
- package/.claude/commands/swarm/testing.md +131 -0
- package/.claude/commands/training/README.md +9 -0
- package/.claude/commands/training/model-update.md +25 -0
- package/.claude/commands/training/neural-patterns.md +74 -0
- package/.claude/commands/training/neural-train.md +25 -0
- package/.claude/commands/training/pattern-learn.md +25 -0
- package/.claude/commands/training/specialization.md +63 -0
- package/.claude/commands/truth/start.md +143 -0
- package/.claude/commands/verify/check.md +50 -0
- package/.claude/commands/verify/start.md +128 -0
- package/.claude/commands/workflows/README.md +9 -0
- package/.claude/commands/workflows/development.md +78 -0
- package/.claude/commands/workflows/research.md +63 -0
- package/.claude/commands/workflows/workflow-create.md +25 -0
- package/.claude/commands/workflows/workflow-execute.md +25 -0
- package/.claude/commands/workflows/workflow-export.md +25 -0
- package/.claude/config/v3-dependency-optimization.json +266 -0
- package/.claude/config/v3-performance-targets.json +251 -0
- package/.claude/helpers/README.md +97 -0
- package/.claude/helpers/adr-compliance.sh +186 -0
- package/.claude/helpers/aggressive-microcompact.mjs +36 -0
- package/.claude/helpers/auto-commit.sh +178 -0
- package/.claude/helpers/auto-memory-hook.mjs +564 -0
- package/.claude/helpers/checkpoint-manager.sh +251 -0
- package/.claude/helpers/context-persistence-hook.mjs +1979 -0
- package/.claude/helpers/daemon-manager.sh +252 -0
- package/.claude/helpers/ddd-tracker.sh +144 -0
- package/.claude/helpers/github-safe.js +106 -0
- package/.claude/helpers/github-setup.sh +28 -0
- package/.claude/helpers/guidance-hook.sh +13 -0
- package/.claude/helpers/guidance-hooks.sh +102 -0
- package/.claude/helpers/health-monitor.sh +108 -0
- package/.claude/helpers/hook-handler.cjs +269 -0
- package/.claude/helpers/intelligence.cjs +230 -0
- package/.claude/helpers/learning-hooks.sh +329 -0
- package/.claude/helpers/learning-optimizer.sh +127 -0
- package/.claude/helpers/learning-service.mjs +1144 -0
- package/.claude/helpers/memory.cjs +84 -0
- package/.claude/helpers/memory.js +83 -0
- package/.claude/helpers/metrics-db.mjs +488 -0
- package/.claude/helpers/patch-aggressive-prune.mjs +184 -0
- package/.claude/helpers/pattern-consolidator.sh +86 -0
- package/.claude/helpers/perf-worker.sh +160 -0
- package/.claude/helpers/post-commit +16 -0
- package/.claude/helpers/pre-commit +26 -0
- package/.claude/helpers/quick-start.sh +19 -0
- package/.claude/helpers/router.cjs +62 -0
- package/.claude/helpers/router.js +66 -0
- package/.claude/helpers/security-scanner.sh +127 -0
- package/.claude/helpers/session.cjs +125 -0
- package/.claude/helpers/session.js +135 -0
- package/.claude/helpers/setup-mcp.sh +18 -0
- package/.claude/helpers/standard-checkpoint-hooks.sh +189 -0
- package/.claude/helpers/statusline-hook.sh +21 -0
- package/.claude/helpers/statusline.cjs +878 -0
- package/.claude/helpers/statusline.js +352 -0
- package/.claude/helpers/swarm-comms.sh +353 -0
- package/.claude/helpers/swarm-hooks.sh +761 -0
- package/.claude/helpers/swarm-monitor.sh +211 -0
- package/.claude/helpers/sync-v3-metrics.sh +245 -0
- package/.claude/helpers/update-v3-progress.sh +166 -0
- package/.claude/helpers/v3-quick-status.sh +58 -0
- package/.claude/helpers/v3.sh +111 -0
- package/.claude/helpers/validate-v3-config.sh +216 -0
- package/.claude/helpers/worker-manager.sh +170 -0
- package/.claude/mcp.json +13 -0
- package/.claude/scheduled_tasks.lock +1 -0
- package/.claude/settings.json +285 -0
- package/.claude/settings.json.bak +526 -0
- package/.claude/skills/agentdb-advanced/SKILL.md +550 -0
- package/.claude/skills/agentdb-learning/SKILL.md +545 -0
- package/.claude/skills/agentdb-memory-patterns/SKILL.md +339 -0
- package/.claude/skills/agentdb-optimization/SKILL.md +509 -0
- package/.claude/skills/agentdb-vector-search/SKILL.md +339 -0
- package/.claude/skills/agentic-jujutsu/SKILL.md +645 -0
- package/.claude/skills/browser/SKILL.md +204 -0
- package/.claude/skills/dual-mode/README.md +71 -0
- package/.claude/skills/dual-mode/dual-collect.md +103 -0
- package/.claude/skills/dual-mode/dual-coordinate.md +85 -0
- package/.claude/skills/dual-mode/dual-spawn.md +81 -0
- package/.claude/skills/flow-nexus-neural/SKILL.md +727 -0
- package/.claude/skills/flow-nexus-platform/SKILL.md +1154 -0
- package/.claude/skills/flow-nexus-swarm/SKILL.md +604 -0
- package/.claude/skills/github-code-review/SKILL.md +1125 -0
- package/.claude/skills/github-multi-repo/SKILL.md +862 -0
- package/.claude/skills/github-project-management/SKILL.md +1263 -0
- package/.claude/skills/github-release-management/SKILL.md +1064 -0
- package/.claude/skills/github-workflow-automation/SKILL.md +1047 -0
- package/.claude/skills/hive-mind-advanced/SKILL.md +709 -0
- package/.claude/skills/hooks-automation/SKILL.md +1201 -0
- package/.claude/skills/pair-programming/SKILL.md +1202 -0
- package/.claude/skills/performance-analysis/SKILL.md +560 -0
- package/.claude/skills/reasoningbank-agentdb/SKILL.md +446 -0
- package/.claude/skills/reasoningbank-intelligence/SKILL.md +201 -0
- package/.claude/skills/skill-builder/SKILL.md +910 -0
- package/.claude/skills/sparc-methodology/SKILL.md +1106 -0
- package/.claude/skills/stream-chain/SKILL.md +560 -0
- package/.claude/skills/swarm-advanced/SKILL.md +970 -0
- package/.claude/skills/swarm-orchestration/SKILL.md +179 -0
- package/.claude/skills/v3-cli-modernization/SKILL.md +872 -0
- package/.claude/skills/v3-core-implementation/SKILL.md +797 -0
- package/.claude/skills/v3-ddd-architecture/SKILL.md +442 -0
- package/.claude/skills/v3-integration-deep/SKILL.md +241 -0
- package/.claude/skills/v3-mcp-optimization/SKILL.md +777 -0
- package/.claude/skills/v3-memory-unification/SKILL.md +174 -0
- package/.claude/skills/v3-performance-optimization/SKILL.md +390 -0
- package/.claude/skills/v3-security-overhaul/SKILL.md +82 -0
- package/.claude/skills/v3-swarm-coordination/SKILL.md +340 -0
- package/.claude/skills/verification-quality/SKILL.md +691 -0
- package/.claude/skills/worker-benchmarks/SKILL.md +129 -0
- package/.claude/skills/worker-integration/SKILL.md +147 -0
- package/.claude/statusline-command.sh +176 -0
- package/.claude/statusline.mjs +109 -0
- package/.claude/statusline.sh +431 -0
- package/.claude-plugin/README.md +720 -0
- package/.claude-plugin/docs/INSTALLATION.md +261 -0
- package/.claude-plugin/docs/PLUGIN_SUMMARY.md +361 -0
- package/.claude-plugin/docs/QUICKSTART.md +361 -0
- package/.claude-plugin/docs/STRUCTURE.md +128 -0
- package/.claude-plugin/hooks/hooks.json +75 -0
- package/.claude-plugin/marketplace.json +170 -0
- package/.claude-plugin/plugin.json +71 -0
- package/.claude-plugin/scripts/install.sh +234 -0
- package/.claude-plugin/scripts/ruflo-hook.sh +33 -0
- package/.claude-plugin/scripts/uninstall.sh +36 -0
- package/.claude-plugin/scripts/verify.sh +108 -0
- package/LICENSE +21 -0
- package/README.md +410 -0
- package/bin/cli.js +11 -0
- package/bin/npx-repair.js +7 -0
- package/bin/npx-safe-launch.js +9 -0
- package/package.json +159 -0
- package/v3/@claude-flow/cli/README.md +410 -0
- package/v3/@claude-flow/cli/bin/cli.js +233 -0
- package/v3/@claude-flow/cli/bin/mcp-server.js +224 -0
- package/v3/@claude-flow/cli/bin/preinstall.cjs +2 -0
- package/v3/@claude-flow/cli/dist/src/appliance/gguf-engine.d.ts +91 -0
- package/v3/@claude-flow/cli/dist/src/appliance/gguf-engine.js +425 -0
- package/v3/@claude-flow/cli/dist/src/appliance/ruvllm-bridge.d.ts +102 -0
- package/v3/@claude-flow/cli/dist/src/appliance/ruvllm-bridge.js +292 -0
- package/v3/@claude-flow/cli/dist/src/appliance/rvfa-builder.d.ts +44 -0
- package/v3/@claude-flow/cli/dist/src/appliance/rvfa-builder.js +329 -0
- package/v3/@claude-flow/cli/dist/src/appliance/rvfa-distribution.d.ts +97 -0
- package/v3/@claude-flow/cli/dist/src/appliance/rvfa-distribution.js +370 -0
- package/v3/@claude-flow/cli/dist/src/appliance/rvfa-format.d.ts +111 -0
- package/v3/@claude-flow/cli/dist/src/appliance/rvfa-format.js +393 -0
- package/v3/@claude-flow/cli/dist/src/appliance/rvfa-runner.d.ts +69 -0
- package/v3/@claude-flow/cli/dist/src/appliance/rvfa-runner.js +237 -0
- package/v3/@claude-flow/cli/dist/src/appliance/rvfa-signing.d.ts +123 -0
- package/v3/@claude-flow/cli/dist/src/appliance/rvfa-signing.js +347 -0
- package/v3/@claude-flow/cli/dist/src/autopilot-state.d.ts +77 -0
- package/v3/@claude-flow/cli/dist/src/autopilot-state.js +271 -0
- package/v3/@claude-flow/cli/dist/src/benchmarks/pretrain/index.d.ts +58 -0
- package/v3/@claude-flow/cli/dist/src/benchmarks/pretrain/index.js +404 -0
- package/v3/@claude-flow/cli/dist/src/commands/agent-wasm.d.ts +14 -0
- package/v3/@claude-flow/cli/dist/src/commands/agent-wasm.js +333 -0
- package/v3/@claude-flow/cli/dist/src/commands/agent.d.ts +8 -0
- package/v3/@claude-flow/cli/dist/src/commands/agent.js +927 -0
- package/v3/@claude-flow/cli/dist/src/commands/analyze.d.ts +19 -0
- package/v3/@claude-flow/cli/dist/src/commands/analyze.js +2048 -0
- package/v3/@claude-flow/cli/dist/src/commands/appliance-advanced.d.ts +9 -0
- package/v3/@claude-flow/cli/dist/src/commands/appliance-advanced.js +215 -0
- package/v3/@claude-flow/cli/dist/src/commands/appliance.d.ts +8 -0
- package/v3/@claude-flow/cli/dist/src/commands/appliance.js +404 -0
- package/v3/@claude-flow/cli/dist/src/commands/autopilot.d.ts +15 -0
- package/v3/@claude-flow/cli/dist/src/commands/autopilot.js +362 -0
- package/v3/@claude-flow/cli/dist/src/commands/benchmark.d.ts +10 -0
- package/v3/@claude-flow/cli/dist/src/commands/benchmark.js +460 -0
- package/v3/@claude-flow/cli/dist/src/commands/claims.d.ts +10 -0
- package/v3/@claude-flow/cli/dist/src/commands/claims.js +620 -0
- package/v3/@claude-flow/cli/dist/src/commands/cleanup.d.ts +13 -0
- package/v3/@claude-flow/cli/dist/src/commands/cleanup.js +250 -0
- package/v3/@claude-flow/cli/dist/src/commands/completions.d.ts +10 -0
- package/v3/@claude-flow/cli/dist/src/commands/completions.js +539 -0
- package/v3/@claude-flow/cli/dist/src/commands/config.d.ts +8 -0
- package/v3/@claude-flow/cli/dist/src/commands/config.js +430 -0
- package/v3/@claude-flow/cli/dist/src/commands/daemon.d.ts +28 -0
- package/v3/@claude-flow/cli/dist/src/commands/daemon.js +1093 -0
- package/v3/@claude-flow/cli/dist/src/commands/deployment.d.ts +10 -0
- package/v3/@claude-flow/cli/dist/src/commands/deployment.js +672 -0
- package/v3/@claude-flow/cli/dist/src/commands/doctor.d.ts +10 -0
- package/v3/@claude-flow/cli/dist/src/commands/doctor.js +885 -0
- package/v3/@claude-flow/cli/dist/src/commands/embeddings.d.ts +18 -0
- package/v3/@claude-flow/cli/dist/src/commands/embeddings.js +1623 -0
- package/v3/@claude-flow/cli/dist/src/commands/guidance.d.ts +8 -0
- package/v3/@claude-flow/cli/dist/src/commands/guidance.js +556 -0
- package/v3/@claude-flow/cli/dist/src/commands/hive-mind.d.ts +11 -0
- package/v3/@claude-flow/cli/dist/src/commands/hive-mind.js +1297 -0
- package/v3/@claude-flow/cli/dist/src/commands/hooks.d.ts +8 -0
- package/v3/@claude-flow/cli/dist/src/commands/hooks.js +4499 -0
- package/v3/@claude-flow/cli/dist/src/commands/index.d.ts +118 -0
- package/v3/@claude-flow/cli/dist/src/commands/index.js +344 -0
- package/v3/@claude-flow/cli/dist/src/commands/init.d.ts +8 -0
- package/v3/@claude-flow/cli/dist/src/commands/init.js +997 -0
- package/v3/@claude-flow/cli/dist/src/commands/issues.d.ts +21 -0
- package/v3/@claude-flow/cli/dist/src/commands/issues.js +567 -0
- package/v3/@claude-flow/cli/dist/src/commands/mcp.d.ts +11 -0
- package/v3/@claude-flow/cli/dist/src/commands/mcp.js +718 -0
- package/v3/@claude-flow/cli/dist/src/commands/memory.d.ts +8 -0
- package/v3/@claude-flow/cli/dist/src/commands/memory.js +1456 -0
- package/v3/@claude-flow/cli/dist/src/commands/migrate.d.ts +8 -0
- package/v3/@claude-flow/cli/dist/src/commands/migrate.js +742 -0
- package/v3/@claude-flow/cli/dist/src/commands/neural.d.ts +10 -0
- package/v3/@claude-flow/cli/dist/src/commands/neural.js +1531 -0
- package/v3/@claude-flow/cli/dist/src/commands/performance.d.ts +10 -0
- package/v3/@claude-flow/cli/dist/src/commands/performance.js +583 -0
- package/v3/@claude-flow/cli/dist/src/commands/plugins.d.ts +11 -0
- package/v3/@claude-flow/cli/dist/src/commands/plugins.js +826 -0
- package/v3/@claude-flow/cli/dist/src/commands/process.d.ts +10 -0
- package/v3/@claude-flow/cli/dist/src/commands/process.js +694 -0
- package/v3/@claude-flow/cli/dist/src/commands/progress.d.ts +11 -0
- package/v3/@claude-flow/cli/dist/src/commands/progress.js +259 -0
- package/v3/@claude-flow/cli/dist/src/commands/providers.d.ts +10 -0
- package/v3/@claude-flow/cli/dist/src/commands/providers.js +502 -0
- package/v3/@claude-flow/cli/dist/src/commands/route.d.ts +16 -0
- package/v3/@claude-flow/cli/dist/src/commands/route.js +813 -0
- package/v3/@claude-flow/cli/dist/src/commands/ruvector/backup.d.ts +11 -0
- package/v3/@claude-flow/cli/dist/src/commands/ruvector/backup.js +747 -0
- package/v3/@claude-flow/cli/dist/src/commands/ruvector/benchmark.d.ts +11 -0
- package/v3/@claude-flow/cli/dist/src/commands/ruvector/benchmark.js +490 -0
- package/v3/@claude-flow/cli/dist/src/commands/ruvector/import.d.ts +18 -0
- package/v3/@claude-flow/cli/dist/src/commands/ruvector/import.js +373 -0
- package/v3/@claude-flow/cli/dist/src/commands/ruvector/index.d.ts +29 -0
- package/v3/@claude-flow/cli/dist/src/commands/ruvector/index.js +129 -0
- package/v3/@claude-flow/cli/dist/src/commands/ruvector/init.d.ts +11 -0
- package/v3/@claude-flow/cli/dist/src/commands/ruvector/init.js +467 -0
- package/v3/@claude-flow/cli/dist/src/commands/ruvector/migrate.d.ts +11 -0
- package/v3/@claude-flow/cli/dist/src/commands/ruvector/migrate.js +498 -0
- package/v3/@claude-flow/cli/dist/src/commands/ruvector/optimize.d.ts +11 -0
- package/v3/@claude-flow/cli/dist/src/commands/ruvector/optimize.js +505 -0
- package/v3/@claude-flow/cli/dist/src/commands/ruvector/pg-utils.d.ts +14 -0
- package/v3/@claude-flow/cli/dist/src/commands/ruvector/pg-utils.js +41 -0
- package/v3/@claude-flow/cli/dist/src/commands/ruvector/setup.d.ts +18 -0
- package/v3/@claude-flow/cli/dist/src/commands/ruvector/setup.js +765 -0
- package/v3/@claude-flow/cli/dist/src/commands/ruvector/status.d.ts +11 -0
- package/v3/@claude-flow/cli/dist/src/commands/ruvector/status.js +479 -0
- package/v3/@claude-flow/cli/dist/src/commands/security.d.ts +10 -0
- package/v3/@claude-flow/cli/dist/src/commands/security.js +920 -0
- package/v3/@claude-flow/cli/dist/src/commands/session.d.ts +8 -0
- package/v3/@claude-flow/cli/dist/src/commands/session.js +757 -0
- package/v3/@claude-flow/cli/dist/src/commands/start.d.ts +8 -0
- package/v3/@claude-flow/cli/dist/src/commands/start.js +418 -0
- package/v3/@claude-flow/cli/dist/src/commands/status.d.ts +8 -0
- package/v3/@claude-flow/cli/dist/src/commands/status.js +591 -0
- package/v3/@claude-flow/cli/dist/src/commands/swarm.d.ts +8 -0
- package/v3/@claude-flow/cli/dist/src/commands/swarm.js +887 -0
- package/v3/@claude-flow/cli/dist/src/commands/task.d.ts +8 -0
- package/v3/@claude-flow/cli/dist/src/commands/task.js +675 -0
- package/v3/@claude-flow/cli/dist/src/commands/transfer-store.d.ts +13 -0
- package/v3/@claude-flow/cli/dist/src/commands/transfer-store.js +428 -0
- package/v3/@claude-flow/cli/dist/src/commands/update.d.ts +8 -0
- package/v3/@claude-flow/cli/dist/src/commands/update.js +276 -0
- package/v3/@claude-flow/cli/dist/src/commands/verify.d.ts +19 -0
- package/v3/@claude-flow/cli/dist/src/commands/verify.js +261 -0
- package/v3/@claude-flow/cli/dist/src/commands/workflow.d.ts +8 -0
- package/v3/@claude-flow/cli/dist/src/commands/workflow.js +617 -0
- package/v3/@claude-flow/cli/dist/src/config-adapter.d.ts +15 -0
- package/v3/@claude-flow/cli/dist/src/config-adapter.js +186 -0
- package/v3/@claude-flow/cli/dist/src/encryption/vault.d.ts +94 -0
- package/v3/@claude-flow/cli/dist/src/encryption/vault.js +172 -0
- package/v3/@claude-flow/cli/dist/src/fs-secure.d.ts +67 -0
- package/v3/@claude-flow/cli/dist/src/fs-secure.js +74 -0
- package/v3/@claude-flow/cli/dist/src/index.d.ts +81 -0
- package/v3/@claude-flow/cli/dist/src/index.js +538 -0
- package/v3/@claude-flow/cli/dist/src/infrastructure/in-memory-repositories.d.ts +68 -0
- package/v3/@claude-flow/cli/dist/src/infrastructure/in-memory-repositories.js +264 -0
- package/v3/@claude-flow/cli/dist/src/init/claudemd-generator.d.ts +16 -0
- package/v3/@claude-flow/cli/dist/src/init/claudemd-generator.js +363 -0
- package/v3/@claude-flow/cli/dist/src/init/executor.d.ts +41 -0
- package/v3/@claude-flow/cli/dist/src/init/executor.js +1904 -0
- package/v3/@claude-flow/cli/dist/src/init/helpers-generator.d.ts +60 -0
- package/v3/@claude-flow/cli/dist/src/init/helpers-generator.js +1185 -0
- package/v3/@claude-flow/cli/dist/src/init/index.d.ts +13 -0
- package/v3/@claude-flow/cli/dist/src/init/index.js +15 -0
- package/v3/@claude-flow/cli/dist/src/init/mcp-generator.d.ts +26 -0
- package/v3/@claude-flow/cli/dist/src/init/mcp-generator.js +116 -0
- package/v3/@claude-flow/cli/dist/src/init/settings-generator.d.ts +14 -0
- package/v3/@claude-flow/cli/dist/src/init/settings-generator.js +456 -0
- package/v3/@claude-flow/cli/dist/src/init/statusline-generator.d.ts +28 -0
- package/v3/@claude-flow/cli/dist/src/init/statusline-generator.js +937 -0
- package/v3/@claude-flow/cli/dist/src/init/types.d.ts +308 -0
- package/v3/@claude-flow/cli/dist/src/init/types.js +263 -0
- package/v3/@claude-flow/cli/dist/src/log-filters.d.ts +22 -0
- package/v3/@claude-flow/cli/dist/src/log-filters.js +36 -0
- package/v3/@claude-flow/cli/dist/src/mcp-client.d.ts +92 -0
- package/v3/@claude-flow/cli/dist/src/mcp-client.js +287 -0
- package/v3/@claude-flow/cli/dist/src/mcp-server.d.ts +163 -0
- package/v3/@claude-flow/cli/dist/src/mcp-server.js +732 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/agent-execute-core.d.ts +92 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/agent-execute-core.js +328 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/agent-tools.d.ts +9 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/agent-tools.js +716 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/agentdb-tools.d.ts +33 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/agentdb-tools.js +867 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/analyze-tools.d.ts +38 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/analyze-tools.js +346 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/auto-install.d.ts +83 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/auto-install.js +131 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/autopilot-tools.d.ts +12 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/autopilot-tools.js +231 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/browser-session-tools.d.ts +23 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/browser-session-tools.js +324 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/browser-tools.d.ts +13 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/browser-tools.js +757 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/claims-tools.d.ts +12 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/claims-tools.js +863 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/config-tools.d.ts +8 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/config-tools.js +411 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/coordination-tools.d.ts +13 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/coordination-tools.js +729 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/daa-tools.d.ts +13 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/daa-tools.js +534 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/embeddings-tools.d.ts +9 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/embeddings-tools.js +904 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/github-tools.d.ts +9 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/github-tools.js +659 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/guidance-tools.d.ts +15 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/guidance-tools.js +639 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/hive-mind-tools.d.ts +8 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/hive-mind-tools.js +953 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/hooks-tools.d.ts +46 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/hooks-tools.js +3939 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/index.d.ts +27 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/index.js +26 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/managed-agent-tools.d.ts +22 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/managed-agent-tools.js +357 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/memory-tools.d.ts +14 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/memory-tools.js +1240 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/neural-tools.d.ts +16 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/neural-tools.js +793 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/performance-tools.d.ts +16 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/performance-tools.js +675 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/progress-tools.d.ts +14 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/progress-tools.js +348 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/request-tracker.d.ts +17 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/request-tracker.js +27 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/ruvllm-tools.d.ts +9 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/ruvllm-tools.js +339 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/security-tools.d.ts +18 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/security-tools.js +556 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/session-tools.d.ts +8 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/session-tools.js +517 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/swarm-tools.d.ts +9 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/swarm-tools.js +388 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/system-tools.d.ts +13 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/system-tools.js +674 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/task-tools.d.ts +8 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/task-tools.js +487 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/terminal-tools.d.ts +8 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/terminal-tools.js +306 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/transfer-tools.d.ts +14 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/transfer-tools.js +447 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/types.d.ts +8 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/types.js +8 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/validate-input.d.ts +9 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/validate-input.js +9 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/wasm-agent-tools.d.ts +9 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/wasm-agent-tools.js +291 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/workflow-tools.d.ts +8 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/workflow-tools.js +884 -0
- package/v3/@claude-flow/cli/dist/src/memory/ewc-consolidation.d.ts +295 -0
- package/v3/@claude-flow/cli/dist/src/memory/ewc-consolidation.js +601 -0
- package/v3/@claude-flow/cli/dist/src/memory/intelligence.d.ts +357 -0
- package/v3/@claude-flow/cli/dist/src/memory/intelligence.js +1200 -0
- package/v3/@claude-flow/cli/dist/src/memory/memory-bridge.d.ts +492 -0
- package/v3/@claude-flow/cli/dist/src/memory/memory-bridge.js +2101 -0
- package/v3/@claude-flow/cli/dist/src/memory/memory-initializer.d.ts +420 -0
- package/v3/@claude-flow/cli/dist/src/memory/memory-initializer.js +2376 -0
- package/v3/@claude-flow/cli/dist/src/memory/neural-package-bridge.d.ts +48 -0
- package/v3/@claude-flow/cli/dist/src/memory/neural-package-bridge.js +87 -0
- package/v3/@claude-flow/cli/dist/src/memory/rabitq-index.d.ts +60 -0
- package/v3/@claude-flow/cli/dist/src/memory/rabitq-index.js +242 -0
- package/v3/@claude-flow/cli/dist/src/memory/sona-optimizer.d.ts +267 -0
- package/v3/@claude-flow/cli/dist/src/memory/sona-optimizer.js +779 -0
- package/v3/@claude-flow/cli/dist/src/output.d.ts +9 -0
- package/v3/@claude-flow/cli/dist/src/output.js +9 -0
- package/v3/@claude-flow/cli/dist/src/parser.d.ts +69 -0
- package/v3/@claude-flow/cli/dist/src/parser.js +473 -0
- package/v3/@claude-flow/cli/dist/src/plugins/manager.d.ts +133 -0
- package/v3/@claude-flow/cli/dist/src/plugins/manager.js +402 -0
- package/v3/@claude-flow/cli/dist/src/plugins/store/discovery.d.ts +91 -0
- package/v3/@claude-flow/cli/dist/src/plugins/store/discovery.js +1202 -0
- package/v3/@claude-flow/cli/dist/src/plugins/store/index.d.ts +76 -0
- package/v3/@claude-flow/cli/dist/src/plugins/store/index.js +141 -0
- package/v3/@claude-flow/cli/dist/src/plugins/store/search.d.ts +46 -0
- package/v3/@claude-flow/cli/dist/src/plugins/store/search.js +230 -0
- package/v3/@claude-flow/cli/dist/src/plugins/store/types.d.ts +274 -0
- package/v3/@claude-flow/cli/dist/src/plugins/store/types.js +7 -0
- package/v3/@claude-flow/cli/dist/src/plugins/tests/demo-plugin-store.d.ts +7 -0
- package/v3/@claude-flow/cli/dist/src/plugins/tests/demo-plugin-store.js +126 -0
- package/v3/@claude-flow/cli/dist/src/plugins/tests/standalone-test.d.ts +12 -0
- package/v3/@claude-flow/cli/dist/src/plugins/tests/standalone-test.js +188 -0
- package/v3/@claude-flow/cli/dist/src/plugins/tests/test-plugin-store.d.ts +7 -0
- package/v3/@claude-flow/cli/dist/src/plugins/tests/test-plugin-store.js +206 -0
- package/v3/@claude-flow/cli/dist/src/production/circuit-breaker.d.ts +101 -0
- package/v3/@claude-flow/cli/dist/src/production/circuit-breaker.js +241 -0
- package/v3/@claude-flow/cli/dist/src/production/error-handler.d.ts +92 -0
- package/v3/@claude-flow/cli/dist/src/production/error-handler.js +299 -0
- package/v3/@claude-flow/cli/dist/src/production/index.d.ts +23 -0
- package/v3/@claude-flow/cli/dist/src/production/index.js +18 -0
- package/v3/@claude-flow/cli/dist/src/production/monitoring.d.ts +161 -0
- package/v3/@claude-flow/cli/dist/src/production/monitoring.js +356 -0
- package/v3/@claude-flow/cli/dist/src/production/rate-limiter.d.ts +80 -0
- package/v3/@claude-flow/cli/dist/src/production/rate-limiter.js +201 -0
- package/v3/@claude-flow/cli/dist/src/production/retry.d.ts +48 -0
- package/v3/@claude-flow/cli/dist/src/production/retry.js +179 -0
- package/v3/@claude-flow/cli/dist/src/prompt.d.ts +44 -0
- package/v3/@claude-flow/cli/dist/src/prompt.js +501 -0
- package/v3/@claude-flow/cli/dist/src/runtime/headless.d.ts +60 -0
- package/v3/@claude-flow/cli/dist/src/runtime/headless.js +284 -0
- package/v3/@claude-flow/cli/dist/src/ruvector/agent-wasm.d.ts +193 -0
- package/v3/@claude-flow/cli/dist/src/ruvector/agent-wasm.js +354 -0
- package/v3/@claude-flow/cli/dist/src/ruvector/ast-analyzer.d.ts +67 -0
- package/v3/@claude-flow/cli/dist/src/ruvector/ast-analyzer.js +277 -0
- package/v3/@claude-flow/cli/dist/src/ruvector/coverage-router.d.ts +160 -0
- package/v3/@claude-flow/cli/dist/src/ruvector/coverage-router.js +531 -0
- package/v3/@claude-flow/cli/dist/src/ruvector/coverage-tools.d.ts +33 -0
- package/v3/@claude-flow/cli/dist/src/ruvector/coverage-tools.js +157 -0
- package/v3/@claude-flow/cli/dist/src/ruvector/diff-classifier.d.ts +175 -0
- package/v3/@claude-flow/cli/dist/src/ruvector/diff-classifier.js +699 -0
- package/v3/@claude-flow/cli/dist/src/ruvector/diskann-backend.d.ts +78 -0
- package/v3/@claude-flow/cli/dist/src/ruvector/diskann-backend.js +310 -0
- package/v3/@claude-flow/cli/dist/src/ruvector/enhanced-model-router.d.ts +146 -0
- package/v3/@claude-flow/cli/dist/src/ruvector/enhanced-model-router.js +529 -0
- package/v3/@claude-flow/cli/dist/src/ruvector/graph-analyzer.d.ts +187 -0
- package/v3/@claude-flow/cli/dist/src/ruvector/graph-analyzer.js +929 -0
- package/v3/@claude-flow/cli/dist/src/ruvector/graph-backend.d.ts +79 -0
- package/v3/@claude-flow/cli/dist/src/ruvector/graph-backend.js +220 -0
- package/v3/@claude-flow/cli/dist/src/ruvector/index.d.ts +38 -0
- package/v3/@claude-flow/cli/dist/src/ruvector/index.js +82 -0
- package/v3/@claude-flow/cli/dist/src/ruvector/lora-adapter.d.ts +240 -0
- package/v3/@claude-flow/cli/dist/src/ruvector/lora-adapter.js +550 -0
- package/v3/@claude-flow/cli/dist/src/ruvector/model-router.d.ts +241 -0
- package/v3/@claude-flow/cli/dist/src/ruvector/model-router.js +608 -0
- package/v3/@claude-flow/cli/dist/src/ruvector/q-learning-router.d.ts +211 -0
- package/v3/@claude-flow/cli/dist/src/ruvector/q-learning-router.js +681 -0
- package/v3/@claude-flow/cli/dist/src/ruvector/ruvllm-wasm.d.ts +179 -0
- package/v3/@claude-flow/cli/dist/src/ruvector/ruvllm-wasm.js +367 -0
- package/v3/@claude-flow/cli/dist/src/ruvector/semantic-router.d.ts +77 -0
- package/v3/@claude-flow/cli/dist/src/ruvector/semantic-router.js +178 -0
- package/v3/@claude-flow/cli/dist/src/ruvector/vector-db.d.ts +73 -0
- package/v3/@claude-flow/cli/dist/src/ruvector/vector-db.js +264 -0
- package/v3/@claude-flow/cli/dist/src/services/agentic-flow-bridge.d.ts +50 -0
- package/v3/@claude-flow/cli/dist/src/services/agentic-flow-bridge.js +95 -0
- package/v3/@claude-flow/cli/dist/src/services/claim-service.d.ts +204 -0
- package/v3/@claude-flow/cli/dist/src/services/claim-service.js +818 -0
- package/v3/@claude-flow/cli/dist/src/services/config-file-manager.d.ts +37 -0
- package/v3/@claude-flow/cli/dist/src/services/config-file-manager.js +233 -0
- package/v3/@claude-flow/cli/dist/src/services/container-worker-pool.d.ts +197 -0
- package/v3/@claude-flow/cli/dist/src/services/container-worker-pool.js +583 -0
- package/v3/@claude-flow/cli/dist/src/services/headless-worker-executor.d.ts +310 -0
- package/v3/@claude-flow/cli/dist/src/services/headless-worker-executor.js +1058 -0
- package/v3/@claude-flow/cli/dist/src/services/index.d.ts +13 -0
- package/v3/@claude-flow/cli/dist/src/services/index.js +11 -0
- package/v3/@claude-flow/cli/dist/src/services/registry-api.d.ts +58 -0
- package/v3/@claude-flow/cli/dist/src/services/registry-api.js +146 -0
- package/v3/@claude-flow/cli/dist/src/services/ruvector-training.d.ts +222 -0
- package/v3/@claude-flow/cli/dist/src/services/ruvector-training.js +688 -0
- package/v3/@claude-flow/cli/dist/src/services/worker-daemon.d.ts +323 -0
- package/v3/@claude-flow/cli/dist/src/services/worker-daemon.js +1323 -0
- package/v3/@claude-flow/cli/dist/src/services/worker-queue.d.ts +194 -0
- package/v3/@claude-flow/cli/dist/src/services/worker-queue.js +513 -0
- package/v3/@claude-flow/cli/dist/src/suggest.d.ts +53 -0
- package/v3/@claude-flow/cli/dist/src/suggest.js +200 -0
- package/v3/@claude-flow/cli/dist/src/transfer/anonymization/index.d.ts +25 -0
- package/v3/@claude-flow/cli/dist/src/transfer/anonymization/index.js +175 -0
- package/v3/@claude-flow/cli/dist/src/transfer/deploy-seraphine.d.ts +13 -0
- package/v3/@claude-flow/cli/dist/src/transfer/deploy-seraphine.js +205 -0
- package/v3/@claude-flow/cli/dist/src/transfer/export.d.ts +25 -0
- package/v3/@claude-flow/cli/dist/src/transfer/export.js +113 -0
- package/v3/@claude-flow/cli/dist/src/transfer/index.d.ts +12 -0
- package/v3/@claude-flow/cli/dist/src/transfer/index.js +31 -0
- package/v3/@claude-flow/cli/dist/src/transfer/ipfs/client.d.ts +109 -0
- package/v3/@claude-flow/cli/dist/src/transfer/ipfs/client.js +307 -0
- package/v3/@claude-flow/cli/dist/src/transfer/ipfs/upload.d.ts +95 -0
- package/v3/@claude-flow/cli/dist/src/transfer/ipfs/upload.js +413 -0
- package/v3/@claude-flow/cli/dist/src/transfer/models/seraphine.d.ts +72 -0
- package/v3/@claude-flow/cli/dist/src/transfer/models/seraphine.js +373 -0
- package/v3/@claude-flow/cli/dist/src/transfer/serialization/cfp.d.ts +49 -0
- package/v3/@claude-flow/cli/dist/src/transfer/serialization/cfp.js +183 -0
- package/v3/@claude-flow/cli/dist/src/transfer/storage/gcs.d.ts +82 -0
- package/v3/@claude-flow/cli/dist/src/transfer/storage/gcs.js +272 -0
- package/v3/@claude-flow/cli/dist/src/transfer/storage/index.d.ts +6 -0
- package/v3/@claude-flow/cli/dist/src/transfer/storage/index.js +6 -0
- package/v3/@claude-flow/cli/dist/src/transfer/store/discovery.d.ts +84 -0
- package/v3/@claude-flow/cli/dist/src/transfer/store/discovery.js +382 -0
- package/v3/@claude-flow/cli/dist/src/transfer/store/download.d.ts +70 -0
- package/v3/@claude-flow/cli/dist/src/transfer/store/download.js +334 -0
- package/v3/@claude-flow/cli/dist/src/transfer/store/index.d.ts +84 -0
- package/v3/@claude-flow/cli/dist/src/transfer/store/index.js +153 -0
- package/v3/@claude-flow/cli/dist/src/transfer/store/publish.d.ts +76 -0
- package/v3/@claude-flow/cli/dist/src/transfer/store/publish.js +294 -0
- package/v3/@claude-flow/cli/dist/src/transfer/store/registry.d.ts +58 -0
- package/v3/@claude-flow/cli/dist/src/transfer/store/registry.js +285 -0
- package/v3/@claude-flow/cli/dist/src/transfer/store/search.d.ts +54 -0
- package/v3/@claude-flow/cli/dist/src/transfer/store/search.js +232 -0
- package/v3/@claude-flow/cli/dist/src/transfer/store/tests/standalone-test.d.ts +12 -0
- package/v3/@claude-flow/cli/dist/src/transfer/store/tests/standalone-test.js +190 -0
- package/v3/@claude-flow/cli/dist/src/transfer/store/types.d.ts +193 -0
- package/v3/@claude-flow/cli/dist/src/transfer/store/types.js +6 -0
- package/v3/@claude-flow/cli/dist/src/transfer/test-seraphine.d.ts +6 -0
- package/v3/@claude-flow/cli/dist/src/transfer/test-seraphine.js +105 -0
- package/v3/@claude-flow/cli/dist/src/transfer/tests/test-store.d.ts +7 -0
- package/v3/@claude-flow/cli/dist/src/transfer/tests/test-store.js +214 -0
- package/v3/@claude-flow/cli/dist/src/transfer/types.d.ts +245 -0
- package/v3/@claude-flow/cli/dist/src/transfer/types.js +6 -0
- package/v3/@claude-flow/cli/dist/src/types.d.ts +13 -0
- package/v3/@claude-flow/cli/dist/src/types.js +13 -0
- package/v3/@claude-flow/cli/dist/src/update/checker.d.ts +34 -0
- package/v3/@claude-flow/cli/dist/src/update/checker.js +191 -0
- package/v3/@claude-flow/cli/dist/src/update/executor.d.ts +33 -0
- package/v3/@claude-flow/cli/dist/src/update/executor.js +217 -0
- package/v3/@claude-flow/cli/dist/src/update/index.d.ts +33 -0
- package/v3/@claude-flow/cli/dist/src/update/index.js +64 -0
- package/v3/@claude-flow/cli/dist/src/update/rate-limiter.d.ts +20 -0
- package/v3/@claude-flow/cli/dist/src/update/rate-limiter.js +96 -0
- package/v3/@claude-flow/cli/dist/src/update/validator.d.ts +17 -0
- package/v3/@claude-flow/cli/dist/src/update/validator.js +123 -0
- package/v3/@claude-flow/cli/package.json +133 -0
- package/v3/@claude-flow/guidance/README.md +1195 -0
- package/v3/@claude-flow/guidance/package.json +198 -0
- package/v3/@claude-flow/shared/README.md +323 -0
- package/v3/@claude-flow/shared/package.json +43 -0
- package/v3/README.md +493 -0
|
@@ -0,0 +1,757 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Browser MCP Tools
|
|
3
|
+
*
|
|
4
|
+
* CLI integration for @claude-flow/browser package.
|
|
5
|
+
* Provides browser automation tools for web navigation, interaction, and data extraction.
|
|
6
|
+
*/
|
|
7
|
+
import { readFileSync, existsSync } from 'node:fs';
|
|
8
|
+
import { validateIdentifier, validateText } from './validate-input.js';
|
|
9
|
+
// Session registry for multi-session support
|
|
10
|
+
const browserSessions = new Map();
|
|
11
|
+
/**
|
|
12
|
+
* Execute agent-browser CLI command.
|
|
13
|
+
* Tries global agent-browser first, falls back to npx if ENOENT.
|
|
14
|
+
*/
|
|
15
|
+
async function execBrowserCommand(args, session = 'default') {
|
|
16
|
+
const { execFileSync } = await import('child_process');
|
|
17
|
+
const fullArgs = ['--session', session, '--json', ...args];
|
|
18
|
+
let result;
|
|
19
|
+
try {
|
|
20
|
+
result = execFileSync('agent-browser', fullArgs, {
|
|
21
|
+
encoding: 'utf-8',
|
|
22
|
+
timeout: 30000,
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
catch (error) {
|
|
26
|
+
const err = error;
|
|
27
|
+
if (err.code === 'ENOENT') {
|
|
28
|
+
try {
|
|
29
|
+
result = execFileSync('npx', ['--yes', 'agent-browser', ...fullArgs], {
|
|
30
|
+
encoding: 'utf-8',
|
|
31
|
+
timeout: 60000,
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
catch (npxError) {
|
|
35
|
+
const npxErr = npxError;
|
|
36
|
+
return {
|
|
37
|
+
content: [{
|
|
38
|
+
type: 'text',
|
|
39
|
+
text: JSON.stringify({
|
|
40
|
+
success: false,
|
|
41
|
+
error: npxErr.code === 'ENOENT'
|
|
42
|
+
? 'Neither agent-browser nor npx found. Install with: npm i -g agent-browser'
|
|
43
|
+
: npxErr instanceof Error ? npxErr.message : String(npxError),
|
|
44
|
+
}),
|
|
45
|
+
}],
|
|
46
|
+
isError: true,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
return {
|
|
52
|
+
content: [{
|
|
53
|
+
type: 'text',
|
|
54
|
+
text: JSON.stringify({
|
|
55
|
+
success: false,
|
|
56
|
+
error: err instanceof Error ? err.message : String(error),
|
|
57
|
+
}),
|
|
58
|
+
}],
|
|
59
|
+
isError: true,
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
let data;
|
|
64
|
+
try {
|
|
65
|
+
data = JSON.parse(result);
|
|
66
|
+
}
|
|
67
|
+
catch {
|
|
68
|
+
data = result.trim();
|
|
69
|
+
}
|
|
70
|
+
const sessionInfo = browserSessions.get(session);
|
|
71
|
+
if (sessionInfo) {
|
|
72
|
+
sessionInfo.lastActivity = new Date().toISOString();
|
|
73
|
+
}
|
|
74
|
+
return {
|
|
75
|
+
content: [{
|
|
76
|
+
type: 'text',
|
|
77
|
+
text: JSON.stringify(data, null, 2),
|
|
78
|
+
}],
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Read a sysctl value, returning the trimmed string or null.
|
|
83
|
+
*/
|
|
84
|
+
function readSysctl(name) {
|
|
85
|
+
try {
|
|
86
|
+
const p = `/proc/sys/kernel/${name}`;
|
|
87
|
+
if (existsSync(p))
|
|
88
|
+
return readFileSync(p, 'utf-8').trim();
|
|
89
|
+
}
|
|
90
|
+
catch { /* not Linux or can't read */ }
|
|
91
|
+
return null;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Detect if Linux needs --no-sandbox for Chrome.
|
|
95
|
+
* Checks both legacy userns flag and Ubuntu 24.04+ AppArmor restriction.
|
|
96
|
+
*/
|
|
97
|
+
function needsNoSandbox() {
|
|
98
|
+
if (process.platform !== 'linux')
|
|
99
|
+
return false;
|
|
100
|
+
return readSysctl('unprivileged_userns_clone') === '0' ||
|
|
101
|
+
readSysctl('apparmor_restrict_unprivileged_userns') === '1';
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Browser MCP Tools
|
|
105
|
+
*/
|
|
106
|
+
export const browserTools = [
|
|
107
|
+
// ==========================================================================
|
|
108
|
+
// Navigation Tools
|
|
109
|
+
// ==========================================================================
|
|
110
|
+
{
|
|
111
|
+
name: 'browser_open',
|
|
112
|
+
description: 'Navigate browser to a URL Use when native WebFetch is wrong because you need real browser automation — JS-heavy SPA scraping, login flows with cookie reuse, replay against DOM-drifted versions, AIDefence PII gating before content reaches Claude. For static HTML pages, native WebFetch is faster and free.',
|
|
113
|
+
category: 'browser',
|
|
114
|
+
tags: ['navigation', 'web'],
|
|
115
|
+
inputSchema: {
|
|
116
|
+
type: 'object',
|
|
117
|
+
properties: {
|
|
118
|
+
url: { type: 'string', description: 'URL to navigate to' },
|
|
119
|
+
session: { type: 'string', description: 'Session ID (default: "default")' },
|
|
120
|
+
waitUntil: {
|
|
121
|
+
type: 'string',
|
|
122
|
+
enum: ['load', 'domcontentloaded', 'networkidle'],
|
|
123
|
+
description: 'Wait condition',
|
|
124
|
+
},
|
|
125
|
+
args: {
|
|
126
|
+
type: 'array',
|
|
127
|
+
items: { type: 'string' },
|
|
128
|
+
description: 'Additional Chrome launch args (e.g., ["--no-sandbox", "--disable-dev-shm-usage"])',
|
|
129
|
+
},
|
|
130
|
+
},
|
|
131
|
+
required: ['url'],
|
|
132
|
+
},
|
|
133
|
+
handler: async (input) => {
|
|
134
|
+
const vUrl = validateText(input.url, 'url');
|
|
135
|
+
if (!vUrl.valid)
|
|
136
|
+
return { content: [{ type: 'text', text: JSON.stringify({ success: false, error: vUrl.error }) }], isError: true };
|
|
137
|
+
if (input.session) {
|
|
138
|
+
const vS = validateIdentifier(input.session, 'session');
|
|
139
|
+
if (!vS.valid)
|
|
140
|
+
return { content: [{ type: 'text', text: JSON.stringify({ success: false, error: vS.error }) }], isError: true };
|
|
141
|
+
}
|
|
142
|
+
const { url, session, waitUntil } = input;
|
|
143
|
+
const launchArgs = input.args || [];
|
|
144
|
+
if (needsNoSandbox() && !launchArgs.includes('--no-sandbox')) {
|
|
145
|
+
launchArgs.push('--no-sandbox');
|
|
146
|
+
}
|
|
147
|
+
const args = ['open', url];
|
|
148
|
+
if (waitUntil)
|
|
149
|
+
args.push('--wait-until', waitUntil);
|
|
150
|
+
if (launchArgs.length > 0)
|
|
151
|
+
args.push('--args', launchArgs.join(','));
|
|
152
|
+
// Create session if new
|
|
153
|
+
const sessionId = session || 'default';
|
|
154
|
+
if (!browserSessions.has(sessionId)) {
|
|
155
|
+
browserSessions.set(sessionId, {
|
|
156
|
+
sessionId,
|
|
157
|
+
createdAt: new Date().toISOString(),
|
|
158
|
+
lastActivity: new Date().toISOString(),
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
return execBrowserCommand(args, sessionId);
|
|
162
|
+
},
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
name: 'browser_back',
|
|
166
|
+
description: 'Navigate back in browser history Use when native WebFetch is wrong because you need real browser automation — JS-heavy SPA scraping, login flows with cookie reuse, replay against DOM-drifted versions, AIDefence PII gating before content reaches Claude. For static HTML pages, native WebFetch is faster and free.',
|
|
167
|
+
category: 'browser',
|
|
168
|
+
tags: ['navigation'],
|
|
169
|
+
inputSchema: {
|
|
170
|
+
type: 'object',
|
|
171
|
+
properties: {
|
|
172
|
+
session: { type: 'string', description: 'Session ID' },
|
|
173
|
+
},
|
|
174
|
+
},
|
|
175
|
+
handler: async (input) => {
|
|
176
|
+
const { session } = input;
|
|
177
|
+
return execBrowserCommand(['back'], session);
|
|
178
|
+
},
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
name: 'browser_forward',
|
|
182
|
+
description: 'Navigate forward in browser history Use when native WebFetch is wrong because you need real browser automation — JS-heavy SPA scraping, login flows with cookie reuse, replay against DOM-drifted versions, AIDefence PII gating before content reaches Claude. For static HTML pages, native WebFetch is faster and free.',
|
|
183
|
+
category: 'browser',
|
|
184
|
+
tags: ['navigation'],
|
|
185
|
+
inputSchema: {
|
|
186
|
+
type: 'object',
|
|
187
|
+
properties: {
|
|
188
|
+
session: { type: 'string', description: 'Session ID' },
|
|
189
|
+
},
|
|
190
|
+
},
|
|
191
|
+
handler: async (input) => {
|
|
192
|
+
const { session } = input;
|
|
193
|
+
return execBrowserCommand(['forward'], session);
|
|
194
|
+
},
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
name: 'browser_reload',
|
|
198
|
+
description: 'Reload the current page Use when native WebFetch is wrong because you need real browser automation — JS-heavy SPA scraping, login flows with cookie reuse, replay against DOM-drifted versions, AIDefence PII gating before content reaches Claude. For static HTML pages, native WebFetch is faster and free.',
|
|
199
|
+
category: 'browser',
|
|
200
|
+
tags: ['navigation'],
|
|
201
|
+
inputSchema: {
|
|
202
|
+
type: 'object',
|
|
203
|
+
properties: {
|
|
204
|
+
session: { type: 'string', description: 'Session ID' },
|
|
205
|
+
},
|
|
206
|
+
},
|
|
207
|
+
handler: async (input) => {
|
|
208
|
+
const { session } = input;
|
|
209
|
+
return execBrowserCommand(['reload'], session);
|
|
210
|
+
},
|
|
211
|
+
},
|
|
212
|
+
{
|
|
213
|
+
name: 'browser_close',
|
|
214
|
+
description: 'Close the browser session Use when native WebFetch is wrong because you need real browser automation — JS-heavy SPA scraping, login flows with cookie reuse, replay against DOM-drifted versions, AIDefence PII gating before content reaches Claude. For static HTML pages, native WebFetch is faster and free.',
|
|
215
|
+
category: 'browser',
|
|
216
|
+
tags: ['navigation'],
|
|
217
|
+
inputSchema: {
|
|
218
|
+
type: 'object',
|
|
219
|
+
properties: {
|
|
220
|
+
session: { type: 'string', description: 'Session ID' },
|
|
221
|
+
},
|
|
222
|
+
},
|
|
223
|
+
handler: async (input) => {
|
|
224
|
+
const { session } = input;
|
|
225
|
+
const sessionId = session || 'default';
|
|
226
|
+
browserSessions.delete(sessionId);
|
|
227
|
+
return execBrowserCommand(['close'], sessionId);
|
|
228
|
+
},
|
|
229
|
+
},
|
|
230
|
+
// ==========================================================================
|
|
231
|
+
// Snapshot Tools (AI-Optimized)
|
|
232
|
+
// ==========================================================================
|
|
233
|
+
{
|
|
234
|
+
name: 'browser_snapshot',
|
|
235
|
+
description: 'Get AI-optimized accessibility tree snapshot with element refs (@e1, @e2, etc.) Use when native WebFetch is wrong because you need real browser automation — JS-heavy SPA scraping, login flows with cookie reuse, replay against DOM-drifted versions, AIDefence PII gating before content reaches Claude. For static HTML pages, native WebFetch is faster and free.',
|
|
236
|
+
category: 'browser',
|
|
237
|
+
tags: ['snapshot', 'ai'],
|
|
238
|
+
inputSchema: {
|
|
239
|
+
type: 'object',
|
|
240
|
+
properties: {
|
|
241
|
+
session: { type: 'string', description: 'Session ID' },
|
|
242
|
+
interactive: { type: 'boolean', description: 'Only interactive elements (-i flag)' },
|
|
243
|
+
compact: { type: 'boolean', description: 'Remove empty structural elements (-c flag)' },
|
|
244
|
+
depth: { type: 'number', description: 'Limit tree depth (-d flag)' },
|
|
245
|
+
selector: { type: 'string', description: 'Scope to CSS selector (-s flag)' },
|
|
246
|
+
},
|
|
247
|
+
},
|
|
248
|
+
handler: async (input) => {
|
|
249
|
+
if (input.selector) {
|
|
250
|
+
const vSel = validateText(input.selector, 'selector');
|
|
251
|
+
if (!vSel.valid)
|
|
252
|
+
return { content: [{ type: 'text', text: JSON.stringify({ success: false, error: vSel.error }) }], isError: true };
|
|
253
|
+
}
|
|
254
|
+
if (input.session) {
|
|
255
|
+
const vS = validateIdentifier(input.session, 'session');
|
|
256
|
+
if (!vS.valid)
|
|
257
|
+
return { content: [{ type: 'text', text: JSON.stringify({ success: false, error: vS.error }) }], isError: true };
|
|
258
|
+
}
|
|
259
|
+
const { session, interactive, compact, depth, selector } = input;
|
|
260
|
+
const args = ['snapshot'];
|
|
261
|
+
if (interactive)
|
|
262
|
+
args.push('-i');
|
|
263
|
+
if (compact)
|
|
264
|
+
args.push('-c');
|
|
265
|
+
if (depth)
|
|
266
|
+
args.push('-d', String(depth));
|
|
267
|
+
if (selector)
|
|
268
|
+
args.push('-s', selector);
|
|
269
|
+
return execBrowserCommand(args, session);
|
|
270
|
+
},
|
|
271
|
+
},
|
|
272
|
+
{
|
|
273
|
+
name: 'browser_screenshot',
|
|
274
|
+
description: 'Capture screenshot of the page Use when native WebFetch is wrong because you need real browser automation — JS-heavy SPA scraping, login flows with cookie reuse, replay against DOM-drifted versions, AIDefence PII gating before content reaches Claude. For static HTML pages, native WebFetch is faster and free.',
|
|
275
|
+
category: 'browser',
|
|
276
|
+
tags: ['snapshot', 'screenshot'],
|
|
277
|
+
inputSchema: {
|
|
278
|
+
type: 'object',
|
|
279
|
+
properties: {
|
|
280
|
+
session: { type: 'string', description: 'Session ID' },
|
|
281
|
+
path: { type: 'string', description: 'Save path (returns base64 if not specified)' },
|
|
282
|
+
fullPage: { type: 'boolean', description: 'Capture full page' },
|
|
283
|
+
},
|
|
284
|
+
},
|
|
285
|
+
handler: async (input) => {
|
|
286
|
+
if (input.path) {
|
|
287
|
+
const vP = validateText(input.path, 'path');
|
|
288
|
+
if (!vP.valid)
|
|
289
|
+
return { content: [{ type: 'text', text: JSON.stringify({ success: false, error: vP.error }) }], isError: true };
|
|
290
|
+
}
|
|
291
|
+
if (input.session) {
|
|
292
|
+
const vS = validateIdentifier(input.session, 'session');
|
|
293
|
+
if (!vS.valid)
|
|
294
|
+
return { content: [{ type: 'text', text: JSON.stringify({ success: false, error: vS.error }) }], isError: true };
|
|
295
|
+
}
|
|
296
|
+
const { session, path, fullPage } = input;
|
|
297
|
+
const args = ['screenshot'];
|
|
298
|
+
if (path)
|
|
299
|
+
args.push(path);
|
|
300
|
+
if (fullPage)
|
|
301
|
+
args.push('--full');
|
|
302
|
+
return execBrowserCommand(args, session);
|
|
303
|
+
},
|
|
304
|
+
},
|
|
305
|
+
// ==========================================================================
|
|
306
|
+
// Interaction Tools
|
|
307
|
+
// ==========================================================================
|
|
308
|
+
{
|
|
309
|
+
name: 'browser_click',
|
|
310
|
+
description: 'Click an element using ref (@e1) or CSS selector Use when native WebFetch is wrong because you need real browser automation — JS-heavy SPA scraping, login flows with cookie reuse, replay against DOM-drifted versions, AIDefence PII gating before content reaches Claude. For static HTML pages, native WebFetch is faster and free.',
|
|
311
|
+
category: 'browser',
|
|
312
|
+
tags: ['interaction'],
|
|
313
|
+
inputSchema: {
|
|
314
|
+
type: 'object',
|
|
315
|
+
properties: {
|
|
316
|
+
target: { type: 'string', description: 'Element ref (@e1) or CSS selector' },
|
|
317
|
+
session: { type: 'string', description: 'Session ID' },
|
|
318
|
+
button: { type: 'string', enum: ['left', 'right', 'middle'], description: 'Mouse button' },
|
|
319
|
+
count: { type: 'number', description: 'Click count (2 for double-click)' },
|
|
320
|
+
},
|
|
321
|
+
required: ['target'],
|
|
322
|
+
},
|
|
323
|
+
handler: async (input) => {
|
|
324
|
+
const vTarget = validateText(input.target, 'target');
|
|
325
|
+
if (!vTarget.valid)
|
|
326
|
+
return { content: [{ type: 'text', text: JSON.stringify({ success: false, error: vTarget.error }) }], isError: true };
|
|
327
|
+
if (input.session) {
|
|
328
|
+
const vS = validateIdentifier(input.session, 'session');
|
|
329
|
+
if (!vS.valid)
|
|
330
|
+
return { content: [{ type: 'text', text: JSON.stringify({ success: false, error: vS.error }) }], isError: true };
|
|
331
|
+
}
|
|
332
|
+
const { target, session, button, count } = input;
|
|
333
|
+
const args = ['click', target];
|
|
334
|
+
if (button)
|
|
335
|
+
args.push('--button', button);
|
|
336
|
+
if (count)
|
|
337
|
+
args.push('--count', String(count));
|
|
338
|
+
return execBrowserCommand(args, session);
|
|
339
|
+
},
|
|
340
|
+
},
|
|
341
|
+
{
|
|
342
|
+
name: 'browser_fill',
|
|
343
|
+
description: 'Clear and fill an input element Use when native WebFetch is wrong because you need real browser automation — JS-heavy SPA scraping, login flows with cookie reuse, replay against DOM-drifted versions, AIDefence PII gating before content reaches Claude. For static HTML pages, native WebFetch is faster and free.',
|
|
344
|
+
category: 'browser',
|
|
345
|
+
tags: ['interaction', 'form'],
|
|
346
|
+
inputSchema: {
|
|
347
|
+
type: 'object',
|
|
348
|
+
properties: {
|
|
349
|
+
target: { type: 'string', description: 'Element ref (@e1) or CSS selector' },
|
|
350
|
+
value: { type: 'string', description: 'Value to fill' },
|
|
351
|
+
session: { type: 'string', description: 'Session ID' },
|
|
352
|
+
},
|
|
353
|
+
required: ['target', 'value'],
|
|
354
|
+
},
|
|
355
|
+
handler: async (input) => {
|
|
356
|
+
const vTarget = validateText(input.target, 'target');
|
|
357
|
+
if (!vTarget.valid)
|
|
358
|
+
return { content: [{ type: 'text', text: JSON.stringify({ success: false, error: vTarget.error }) }], isError: true };
|
|
359
|
+
const vValue = validateText(input.value, 'value');
|
|
360
|
+
if (!vValue.valid)
|
|
361
|
+
return { content: [{ type: 'text', text: JSON.stringify({ success: false, error: vValue.error }) }], isError: true };
|
|
362
|
+
if (input.session) {
|
|
363
|
+
const vS = validateIdentifier(input.session, 'session');
|
|
364
|
+
if (!vS.valid)
|
|
365
|
+
return { content: [{ type: 'text', text: JSON.stringify({ success: false, error: vS.error }) }], isError: true };
|
|
366
|
+
}
|
|
367
|
+
const { target, value, session } = input;
|
|
368
|
+
return execBrowserCommand(['fill', target, value], session);
|
|
369
|
+
},
|
|
370
|
+
},
|
|
371
|
+
{
|
|
372
|
+
name: 'browser_type',
|
|
373
|
+
description: 'Type text with key events (for autocomplete, etc.) Use when native WebFetch is wrong because you need real browser automation — JS-heavy SPA scraping, login flows with cookie reuse, replay against DOM-drifted versions, AIDefence PII gating before content reaches Claude. For static HTML pages, native WebFetch is faster and free.',
|
|
374
|
+
category: 'browser',
|
|
375
|
+
tags: ['interaction', 'form'],
|
|
376
|
+
inputSchema: {
|
|
377
|
+
type: 'object',
|
|
378
|
+
properties: {
|
|
379
|
+
target: { type: 'string', description: 'Element ref or CSS selector' },
|
|
380
|
+
text: { type: 'string', description: 'Text to type' },
|
|
381
|
+
session: { type: 'string', description: 'Session ID' },
|
|
382
|
+
delay: { type: 'number', description: 'Delay between keystrokes (ms)' },
|
|
383
|
+
},
|
|
384
|
+
required: ['target', 'text'],
|
|
385
|
+
},
|
|
386
|
+
handler: async (input) => {
|
|
387
|
+
const vTarget = validateText(input.target, 'target');
|
|
388
|
+
if (!vTarget.valid)
|
|
389
|
+
return { content: [{ type: 'text', text: JSON.stringify({ success: false, error: vTarget.error }) }], isError: true };
|
|
390
|
+
const vText = validateText(input.text, 'text');
|
|
391
|
+
if (!vText.valid)
|
|
392
|
+
return { content: [{ type: 'text', text: JSON.stringify({ success: false, error: vText.error }) }], isError: true };
|
|
393
|
+
if (input.session) {
|
|
394
|
+
const vS = validateIdentifier(input.session, 'session');
|
|
395
|
+
if (!vS.valid)
|
|
396
|
+
return { content: [{ type: 'text', text: JSON.stringify({ success: false, error: vS.error }) }], isError: true };
|
|
397
|
+
}
|
|
398
|
+
const { target, text, session, delay } = input;
|
|
399
|
+
const args = ['type', target, text];
|
|
400
|
+
if (delay)
|
|
401
|
+
args.push('--delay', String(delay));
|
|
402
|
+
return execBrowserCommand(args, session);
|
|
403
|
+
},
|
|
404
|
+
},
|
|
405
|
+
{
|
|
406
|
+
name: 'browser_press',
|
|
407
|
+
description: 'Press a keyboard key Use when native WebFetch is wrong because you need real browser automation — JS-heavy SPA scraping, login flows with cookie reuse, replay against DOM-drifted versions, AIDefence PII gating before content reaches Claude. For static HTML pages, native WebFetch is faster and free.',
|
|
408
|
+
category: 'browser',
|
|
409
|
+
tags: ['interaction'],
|
|
410
|
+
inputSchema: {
|
|
411
|
+
type: 'object',
|
|
412
|
+
properties: {
|
|
413
|
+
key: { type: 'string', description: 'Key to press (Enter, Tab, Escape, etc.)' },
|
|
414
|
+
session: { type: 'string', description: 'Session ID' },
|
|
415
|
+
},
|
|
416
|
+
required: ['key'],
|
|
417
|
+
},
|
|
418
|
+
handler: async (input) => {
|
|
419
|
+
const vKey = validateText(input.key, 'key');
|
|
420
|
+
if (!vKey.valid)
|
|
421
|
+
return { content: [{ type: 'text', text: JSON.stringify({ success: false, error: vKey.error }) }], isError: true };
|
|
422
|
+
if (input.session) {
|
|
423
|
+
const vS = validateIdentifier(input.session, 'session');
|
|
424
|
+
if (!vS.valid)
|
|
425
|
+
return { content: [{ type: 'text', text: JSON.stringify({ success: false, error: vS.error }) }], isError: true };
|
|
426
|
+
}
|
|
427
|
+
const { key, session } = input;
|
|
428
|
+
return execBrowserCommand(['press', key], session);
|
|
429
|
+
},
|
|
430
|
+
},
|
|
431
|
+
{
|
|
432
|
+
name: 'browser_hover',
|
|
433
|
+
description: 'Hover over an element using ref (@e1) or CSS selector Use when native WebFetch is wrong because you need real browser automation — JS-heavy SPA scraping, login flows with cookie reuse, replay against DOM-drifted versions, AIDefence PII gating before content reaches Claude. For static HTML pages, native WebFetch is faster and free.',
|
|
434
|
+
category: 'browser',
|
|
435
|
+
tags: ['interaction'],
|
|
436
|
+
inputSchema: {
|
|
437
|
+
type: 'object',
|
|
438
|
+
properties: {
|
|
439
|
+
target: { type: 'string', description: 'Element ref (@e1) or CSS selector' },
|
|
440
|
+
session: { type: 'string', description: 'Session ID' },
|
|
441
|
+
},
|
|
442
|
+
required: ['target'],
|
|
443
|
+
},
|
|
444
|
+
handler: async (input) => {
|
|
445
|
+
const vTarget = validateText(input.target, 'target');
|
|
446
|
+
if (!vTarget.valid)
|
|
447
|
+
return { content: [{ type: 'text', text: JSON.stringify({ success: false, error: vTarget.error }) }], isError: true };
|
|
448
|
+
if (input.session) {
|
|
449
|
+
const vS = validateIdentifier(input.session, 'session');
|
|
450
|
+
if (!vS.valid)
|
|
451
|
+
return { content: [{ type: 'text', text: JSON.stringify({ success: false, error: vS.error }) }], isError: true };
|
|
452
|
+
}
|
|
453
|
+
const { target, session } = input;
|
|
454
|
+
return execBrowserCommand(['hover', target], session);
|
|
455
|
+
},
|
|
456
|
+
},
|
|
457
|
+
{
|
|
458
|
+
name: 'browser_select',
|
|
459
|
+
description: 'Select an option from a dropdown Use when native WebFetch is wrong because you need real browser automation — JS-heavy SPA scraping, login flows with cookie reuse, replay against DOM-drifted versions, AIDefence PII gating before content reaches Claude. For static HTML pages, native WebFetch is faster and free.',
|
|
460
|
+
category: 'browser',
|
|
461
|
+
tags: ['interaction', 'form'],
|
|
462
|
+
inputSchema: {
|
|
463
|
+
type: 'object',
|
|
464
|
+
properties: {
|
|
465
|
+
target: { type: 'string', description: 'Select element ref or CSS selector' },
|
|
466
|
+
value: { type: 'string', description: 'Option value to select' },
|
|
467
|
+
session: { type: 'string', description: 'Session ID' },
|
|
468
|
+
},
|
|
469
|
+
required: ['target', 'value'],
|
|
470
|
+
},
|
|
471
|
+
handler: async (input) => {
|
|
472
|
+
const vTarget = validateText(input.target, 'target');
|
|
473
|
+
if (!vTarget.valid)
|
|
474
|
+
return { content: [{ type: 'text', text: JSON.stringify({ success: false, error: vTarget.error }) }], isError: true };
|
|
475
|
+
const vValue = validateText(input.value, 'value');
|
|
476
|
+
if (!vValue.valid)
|
|
477
|
+
return { content: [{ type: 'text', text: JSON.stringify({ success: false, error: vValue.error }) }], isError: true };
|
|
478
|
+
if (input.session) {
|
|
479
|
+
const vS = validateIdentifier(input.session, 'session');
|
|
480
|
+
if (!vS.valid)
|
|
481
|
+
return { content: [{ type: 'text', text: JSON.stringify({ success: false, error: vS.error }) }], isError: true };
|
|
482
|
+
}
|
|
483
|
+
const { target, value, session } = input;
|
|
484
|
+
return execBrowserCommand(['select', target, value], session);
|
|
485
|
+
},
|
|
486
|
+
},
|
|
487
|
+
{
|
|
488
|
+
name: 'browser_check',
|
|
489
|
+
description: 'Check a checkbox Use when native WebFetch is wrong because you need real browser automation — JS-heavy SPA scraping, login flows with cookie reuse, replay against DOM-drifted versions, AIDefence PII gating before content reaches Claude. For static HTML pages, native WebFetch is faster and free.',
|
|
490
|
+
category: 'browser',
|
|
491
|
+
tags: ['interaction', 'form'],
|
|
492
|
+
inputSchema: {
|
|
493
|
+
type: 'object',
|
|
494
|
+
properties: {
|
|
495
|
+
target: { type: 'string', description: 'Checkbox ref or CSS selector' },
|
|
496
|
+
session: { type: 'string', description: 'Session ID' },
|
|
497
|
+
},
|
|
498
|
+
required: ['target'],
|
|
499
|
+
},
|
|
500
|
+
handler: async (input) => {
|
|
501
|
+
const vTarget = validateText(input.target, 'target');
|
|
502
|
+
if (!vTarget.valid)
|
|
503
|
+
return { content: [{ type: 'text', text: JSON.stringify({ success: false, error: vTarget.error }) }], isError: true };
|
|
504
|
+
if (input.session) {
|
|
505
|
+
const vS = validateIdentifier(input.session, 'session');
|
|
506
|
+
if (!vS.valid)
|
|
507
|
+
return { content: [{ type: 'text', text: JSON.stringify({ success: false, error: vS.error }) }], isError: true };
|
|
508
|
+
}
|
|
509
|
+
const { target, session } = input;
|
|
510
|
+
return execBrowserCommand(['check', target], session);
|
|
511
|
+
},
|
|
512
|
+
},
|
|
513
|
+
{
|
|
514
|
+
name: 'browser_uncheck',
|
|
515
|
+
description: 'Uncheck a checkbox Use when native WebFetch is wrong because you need real browser automation — JS-heavy SPA scraping, login flows with cookie reuse, replay against DOM-drifted versions, AIDefence PII gating before content reaches Claude. For static HTML pages, native WebFetch is faster and free.',
|
|
516
|
+
category: 'browser',
|
|
517
|
+
tags: ['interaction', 'form'],
|
|
518
|
+
inputSchema: {
|
|
519
|
+
type: 'object',
|
|
520
|
+
properties: {
|
|
521
|
+
target: { type: 'string', description: 'Checkbox ref or CSS selector' },
|
|
522
|
+
session: { type: 'string', description: 'Session ID' },
|
|
523
|
+
},
|
|
524
|
+
required: ['target'],
|
|
525
|
+
},
|
|
526
|
+
handler: async (input) => {
|
|
527
|
+
const vTarget = validateText(input.target, 'target');
|
|
528
|
+
if (!vTarget.valid)
|
|
529
|
+
return { content: [{ type: 'text', text: JSON.stringify({ success: false, error: vTarget.error }) }], isError: true };
|
|
530
|
+
if (input.session) {
|
|
531
|
+
const vS = validateIdentifier(input.session, 'session');
|
|
532
|
+
if (!vS.valid)
|
|
533
|
+
return { content: [{ type: 'text', text: JSON.stringify({ success: false, error: vS.error }) }], isError: true };
|
|
534
|
+
}
|
|
535
|
+
const { target, session } = input;
|
|
536
|
+
return execBrowserCommand(['uncheck', target], session);
|
|
537
|
+
},
|
|
538
|
+
},
|
|
539
|
+
{
|
|
540
|
+
name: 'browser_scroll',
|
|
541
|
+
description: 'Scroll the page Use when native WebFetch is wrong because you need real browser automation — JS-heavy SPA scraping, login flows with cookie reuse, replay against DOM-drifted versions, AIDefence PII gating before content reaches Claude. For static HTML pages, native WebFetch is faster and free.',
|
|
542
|
+
category: 'browser',
|
|
543
|
+
tags: ['interaction'],
|
|
544
|
+
inputSchema: {
|
|
545
|
+
type: 'object',
|
|
546
|
+
properties: {
|
|
547
|
+
direction: { type: 'string', enum: ['up', 'down', 'left', 'right'], description: 'Scroll direction' },
|
|
548
|
+
amount: { type: 'number', description: 'Scroll amount in pixels' },
|
|
549
|
+
session: { type: 'string', description: 'Session ID' },
|
|
550
|
+
},
|
|
551
|
+
required: ['direction'],
|
|
552
|
+
},
|
|
553
|
+
handler: async (input) => {
|
|
554
|
+
const { direction, amount, session } = input;
|
|
555
|
+
const args = ['scroll', direction];
|
|
556
|
+
if (amount)
|
|
557
|
+
args.push(String(amount));
|
|
558
|
+
return execBrowserCommand(args, session);
|
|
559
|
+
},
|
|
560
|
+
},
|
|
561
|
+
// ==========================================================================
|
|
562
|
+
// Information Retrieval Tools
|
|
563
|
+
// ==========================================================================
|
|
564
|
+
{
|
|
565
|
+
name: 'browser_get-text',
|
|
566
|
+
description: 'Get text content of an element Use when native WebFetch is wrong because you need real browser automation — JS-heavy SPA scraping, login flows with cookie reuse, replay against DOM-drifted versions, AIDefence PII gating before content reaches Claude. For static HTML pages, native WebFetch is faster and free.',
|
|
567
|
+
category: 'browser',
|
|
568
|
+
tags: ['info'],
|
|
569
|
+
inputSchema: {
|
|
570
|
+
type: 'object',
|
|
571
|
+
properties: {
|
|
572
|
+
target: { type: 'string', description: 'Element ref or CSS selector' },
|
|
573
|
+
session: { type: 'string', description: 'Session ID' },
|
|
574
|
+
},
|
|
575
|
+
required: ['target'],
|
|
576
|
+
},
|
|
577
|
+
handler: async (input) => {
|
|
578
|
+
const vTarget = validateText(input.target, 'target');
|
|
579
|
+
if (!vTarget.valid)
|
|
580
|
+
return { content: [{ type: 'text', text: JSON.stringify({ success: false, error: vTarget.error }) }], isError: true };
|
|
581
|
+
if (input.session) {
|
|
582
|
+
const vS = validateIdentifier(input.session, 'session');
|
|
583
|
+
if (!vS.valid)
|
|
584
|
+
return { content: [{ type: 'text', text: JSON.stringify({ success: false, error: vS.error }) }], isError: true };
|
|
585
|
+
}
|
|
586
|
+
const { target, session } = input;
|
|
587
|
+
return execBrowserCommand(['get', 'text', target], session);
|
|
588
|
+
},
|
|
589
|
+
},
|
|
590
|
+
{
|
|
591
|
+
name: 'browser_get-value',
|
|
592
|
+
description: 'Get value of an input element Use when native WebFetch is wrong because you need real browser automation — JS-heavy SPA scraping, login flows with cookie reuse, replay against DOM-drifted versions, AIDefence PII gating before content reaches Claude. For static HTML pages, native WebFetch is faster and free.',
|
|
593
|
+
category: 'browser',
|
|
594
|
+
tags: ['info', 'form'],
|
|
595
|
+
inputSchema: {
|
|
596
|
+
type: 'object',
|
|
597
|
+
properties: {
|
|
598
|
+
target: { type: 'string', description: 'Input element ref or CSS selector' },
|
|
599
|
+
session: { type: 'string', description: 'Session ID' },
|
|
600
|
+
},
|
|
601
|
+
required: ['target'],
|
|
602
|
+
},
|
|
603
|
+
handler: async (input) => {
|
|
604
|
+
const vTarget = validateText(input.target, 'target');
|
|
605
|
+
if (!vTarget.valid)
|
|
606
|
+
return { content: [{ type: 'text', text: JSON.stringify({ success: false, error: vTarget.error }) }], isError: true };
|
|
607
|
+
if (input.session) {
|
|
608
|
+
const vS = validateIdentifier(input.session, 'session');
|
|
609
|
+
if (!vS.valid)
|
|
610
|
+
return { content: [{ type: 'text', text: JSON.stringify({ success: false, error: vS.error }) }], isError: true };
|
|
611
|
+
}
|
|
612
|
+
const { target, session } = input;
|
|
613
|
+
return execBrowserCommand(['get', 'value', target], session);
|
|
614
|
+
},
|
|
615
|
+
},
|
|
616
|
+
{
|
|
617
|
+
name: 'browser_get-title',
|
|
618
|
+
description: 'Get the page title Use when native WebFetch is wrong because you need real browser automation — JS-heavy SPA scraping, login flows with cookie reuse, replay against DOM-drifted versions, AIDefence PII gating before content reaches Claude. For static HTML pages, native WebFetch is faster and free.',
|
|
619
|
+
category: 'browser',
|
|
620
|
+
tags: ['info'],
|
|
621
|
+
inputSchema: {
|
|
622
|
+
type: 'object',
|
|
623
|
+
properties: {
|
|
624
|
+
session: { type: 'string', description: 'Session ID' },
|
|
625
|
+
},
|
|
626
|
+
},
|
|
627
|
+
handler: async (input) => {
|
|
628
|
+
const { session } = input;
|
|
629
|
+
return execBrowserCommand(['get', 'title'], session);
|
|
630
|
+
},
|
|
631
|
+
},
|
|
632
|
+
{
|
|
633
|
+
name: 'browser_get-url',
|
|
634
|
+
description: 'Get the current URL Use when native WebFetch is wrong because you need real browser automation — JS-heavy SPA scraping, login flows with cookie reuse, replay against DOM-drifted versions, AIDefence PII gating before content reaches Claude. For static HTML pages, native WebFetch is faster and free.',
|
|
635
|
+
category: 'browser',
|
|
636
|
+
tags: ['info'],
|
|
637
|
+
inputSchema: {
|
|
638
|
+
type: 'object',
|
|
639
|
+
properties: {
|
|
640
|
+
session: { type: 'string', description: 'Session ID' },
|
|
641
|
+
},
|
|
642
|
+
},
|
|
643
|
+
handler: async (input) => {
|
|
644
|
+
const { session } = input;
|
|
645
|
+
return execBrowserCommand(['get', 'url'], session);
|
|
646
|
+
},
|
|
647
|
+
},
|
|
648
|
+
// ==========================================================================
|
|
649
|
+
// Wait Tools
|
|
650
|
+
// ==========================================================================
|
|
651
|
+
{
|
|
652
|
+
name: 'browser_wait',
|
|
653
|
+
description: 'Wait for a condition Use when native WebFetch is wrong because you need real browser automation — JS-heavy SPA scraping, login flows with cookie reuse, replay against DOM-drifted versions, AIDefence PII gating before content reaches Claude. For static HTML pages, native WebFetch is faster and free.',
|
|
654
|
+
category: 'browser',
|
|
655
|
+
tags: ['wait'],
|
|
656
|
+
inputSchema: {
|
|
657
|
+
type: 'object',
|
|
658
|
+
properties: {
|
|
659
|
+
selector: { type: 'string', description: 'CSS selector to wait for' },
|
|
660
|
+
text: { type: 'string', description: 'Text to wait for' },
|
|
661
|
+
url: { type: 'string', description: 'URL pattern to wait for' },
|
|
662
|
+
timeout: { type: 'number', description: 'Wait timeout in ms' },
|
|
663
|
+
session: { type: 'string', description: 'Session ID' },
|
|
664
|
+
},
|
|
665
|
+
},
|
|
666
|
+
handler: async (input) => {
|
|
667
|
+
if (input.selector) {
|
|
668
|
+
const vSel = validateText(input.selector, 'selector');
|
|
669
|
+
if (!vSel.valid)
|
|
670
|
+
return { content: [{ type: 'text', text: JSON.stringify({ success: false, error: vSel.error }) }], isError: true };
|
|
671
|
+
}
|
|
672
|
+
if (input.text) {
|
|
673
|
+
const vT = validateText(input.text, 'text');
|
|
674
|
+
if (!vT.valid)
|
|
675
|
+
return { content: [{ type: 'text', text: JSON.stringify({ success: false, error: vT.error }) }], isError: true };
|
|
676
|
+
}
|
|
677
|
+
if (input.url) {
|
|
678
|
+
const vU = validateText(input.url, 'url');
|
|
679
|
+
if (!vU.valid)
|
|
680
|
+
return { content: [{ type: 'text', text: JSON.stringify({ success: false, error: vU.error }) }], isError: true };
|
|
681
|
+
}
|
|
682
|
+
if (input.session) {
|
|
683
|
+
const vS = validateIdentifier(input.session, 'session');
|
|
684
|
+
if (!vS.valid)
|
|
685
|
+
return { content: [{ type: 'text', text: JSON.stringify({ success: false, error: vS.error }) }], isError: true };
|
|
686
|
+
}
|
|
687
|
+
const { selector, text, url, timeout, session } = input;
|
|
688
|
+
const args = ['wait'];
|
|
689
|
+
if (selector)
|
|
690
|
+
args.push(selector);
|
|
691
|
+
if (text)
|
|
692
|
+
args.push('--text', text);
|
|
693
|
+
if (url)
|
|
694
|
+
args.push('--url', url);
|
|
695
|
+
if (timeout)
|
|
696
|
+
args.push(String(timeout));
|
|
697
|
+
return execBrowserCommand(args, session);
|
|
698
|
+
},
|
|
699
|
+
},
|
|
700
|
+
// ==========================================================================
|
|
701
|
+
// JavaScript Execution
|
|
702
|
+
// ==========================================================================
|
|
703
|
+
{
|
|
704
|
+
name: 'browser_eval',
|
|
705
|
+
description: 'Execute JavaScript in page context Use when native WebFetch is wrong because you need real browser automation — JS-heavy SPA scraping, login flows with cookie reuse, replay against DOM-drifted versions, AIDefence PII gating before content reaches Claude. For static HTML pages, native WebFetch is faster and free.',
|
|
706
|
+
category: 'browser',
|
|
707
|
+
tags: ['eval', 'js'],
|
|
708
|
+
inputSchema: {
|
|
709
|
+
type: 'object',
|
|
710
|
+
properties: {
|
|
711
|
+
script: { type: 'string', description: 'JavaScript code to execute' },
|
|
712
|
+
session: { type: 'string', description: 'Session ID' },
|
|
713
|
+
},
|
|
714
|
+
required: ['script'],
|
|
715
|
+
},
|
|
716
|
+
handler: async (input) => {
|
|
717
|
+
const vScript = validateText(input.script, 'script');
|
|
718
|
+
if (!vScript.valid)
|
|
719
|
+
return { content: [{ type: 'text', text: JSON.stringify({ success: false, error: vScript.error }) }], isError: true };
|
|
720
|
+
if (input.session) {
|
|
721
|
+
const vS = validateIdentifier(input.session, 'session');
|
|
722
|
+
if (!vS.valid)
|
|
723
|
+
return { content: [{ type: 'text', text: JSON.stringify({ success: false, error: vS.error }) }], isError: true };
|
|
724
|
+
}
|
|
725
|
+
const { script, session } = input;
|
|
726
|
+
return execBrowserCommand(['eval', script], session);
|
|
727
|
+
},
|
|
728
|
+
},
|
|
729
|
+
// ==========================================================================
|
|
730
|
+
// Session Management
|
|
731
|
+
// ==========================================================================
|
|
732
|
+
{
|
|
733
|
+
name: 'browser_session-list',
|
|
734
|
+
description: 'List active browser sessions Use when native WebFetch is wrong because you need real browser automation — JS-heavy SPA scraping, login flows with cookie reuse, replay against DOM-drifted versions, AIDefence PII gating before content reaches Claude. For static HTML pages, native WebFetch is faster and free.',
|
|
735
|
+
category: 'browser',
|
|
736
|
+
tags: ['session'],
|
|
737
|
+
inputSchema: {
|
|
738
|
+
type: 'object',
|
|
739
|
+
properties: {},
|
|
740
|
+
},
|
|
741
|
+
handler: async () => {
|
|
742
|
+
const sessions = Array.from(browserSessions.values());
|
|
743
|
+
return {
|
|
744
|
+
content: [{
|
|
745
|
+
type: 'text',
|
|
746
|
+
text: JSON.stringify({
|
|
747
|
+
success: true,
|
|
748
|
+
sessions,
|
|
749
|
+
count: sessions.length,
|
|
750
|
+
}, null, 2),
|
|
751
|
+
}],
|
|
752
|
+
};
|
|
753
|
+
},
|
|
754
|
+
},
|
|
755
|
+
];
|
|
756
|
+
export default browserTools;
|
|
757
|
+
//# sourceMappingURL=browser-tools.js.map
|