aidevops 2.52.1
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/.agent/AGENTS.md +614 -0
- package/.agent/accounts.md +65 -0
- package/.agent/aidevops/add-new-mcp-to-aidevops.md +456 -0
- package/.agent/aidevops/api-integrations.md +335 -0
- package/.agent/aidevops/architecture.md +510 -0
- package/.agent/aidevops/configs.md +274 -0
- package/.agent/aidevops/docs.md +244 -0
- package/.agent/aidevops/extension.md +311 -0
- package/.agent/aidevops/mcp-integrations.md +340 -0
- package/.agent/aidevops/mcp-troubleshooting.md +162 -0
- package/.agent/aidevops/memory-patterns.md +172 -0
- package/.agent/aidevops/providers.md +217 -0
- package/.agent/aidevops/recommendations.md +321 -0
- package/.agent/aidevops/requirements.md +301 -0
- package/.agent/aidevops/resources.md +214 -0
- package/.agent/aidevops/security-requirements.md +174 -0
- package/.agent/aidevops/security.md +350 -0
- package/.agent/aidevops/service-links.md +400 -0
- package/.agent/aidevops/services.md +357 -0
- package/.agent/aidevops/setup.md +153 -0
- package/.agent/aidevops/troubleshooting.md +389 -0
- package/.agent/aidevops.md +124 -0
- package/.agent/build-plus.md +244 -0
- package/.agent/content/guidelines.md +109 -0
- package/.agent/content.md +87 -0
- package/.agent/health.md +59 -0
- package/.agent/legal.md +59 -0
- package/.agent/loop-state/full-loop.local.md +16 -0
- package/.agent/loop-state/ralph-loop.local.md +10 -0
- package/.agent/marketing.md +440 -0
- package/.agent/memory/README.md +260 -0
- package/.agent/onboarding.md +796 -0
- package/.agent/plan-plus.md +245 -0
- package/.agent/research.md +100 -0
- package/.agent/sales.md +333 -0
- package/.agent/scripts/101domains-helper.sh +701 -0
- package/.agent/scripts/add-missing-returns.sh +140 -0
- package/.agent/scripts/agent-browser-helper.sh +311 -0
- package/.agent/scripts/agno-setup.sh +712 -0
- package/.agent/scripts/ahrefs-mcp-wrapper.js +168 -0
- package/.agent/scripts/aidevops-update-check.sh +71 -0
- package/.agent/scripts/ampcode-cli.sh +522 -0
- package/.agent/scripts/auto-version-bump.sh +156 -0
- package/.agent/scripts/autogen-helper.sh +512 -0
- package/.agent/scripts/beads-sync-helper.sh +596 -0
- package/.agent/scripts/closte-helper.sh +5 -0
- package/.agent/scripts/cloudron-helper.sh +321 -0
- package/.agent/scripts/codacy-cli-chunked.sh +581 -0
- package/.agent/scripts/codacy-cli.sh +442 -0
- package/.agent/scripts/code-audit-helper.sh +5 -0
- package/.agent/scripts/coderabbit-cli.sh +417 -0
- package/.agent/scripts/coderabbit-pro-analysis.sh +238 -0
- package/.agent/scripts/commands/code-simplifier.md +86 -0
- package/.agent/scripts/commands/full-loop.md +246 -0
- package/.agent/scripts/commands/postflight-loop.md +103 -0
- package/.agent/scripts/commands/recall.md +182 -0
- package/.agent/scripts/commands/remember.md +132 -0
- package/.agent/scripts/commands/save-todo.md +175 -0
- package/.agent/scripts/commands/session-review.md +154 -0
- package/.agent/scripts/comprehensive-quality-fix.sh +106 -0
- package/.agent/scripts/context-builder-helper.sh +522 -0
- package/.agent/scripts/coolify-cli-helper.sh +674 -0
- package/.agent/scripts/coolify-helper.sh +380 -0
- package/.agent/scripts/crawl4ai-examples.sh +401 -0
- package/.agent/scripts/crawl4ai-helper.sh +1078 -0
- package/.agent/scripts/crewai-helper.sh +681 -0
- package/.agent/scripts/dev-browser-helper.sh +513 -0
- package/.agent/scripts/dns-helper.sh +396 -0
- package/.agent/scripts/domain-research-helper.sh +917 -0
- package/.agent/scripts/dspy-helper.sh +285 -0
- package/.agent/scripts/dspyground-helper.sh +291 -0
- package/.agent/scripts/eeat-score-helper.sh +1242 -0
- package/.agent/scripts/efficient-return-fix.sh +92 -0
- package/.agent/scripts/extract-opencode-prompts.sh +128 -0
- package/.agent/scripts/find-missing-returns.sh +113 -0
- package/.agent/scripts/fix-auth-headers.sh +104 -0
- package/.agent/scripts/fix-common-strings.sh +254 -0
- package/.agent/scripts/fix-content-type.sh +100 -0
- package/.agent/scripts/fix-error-messages.sh +130 -0
- package/.agent/scripts/fix-misplaced-returns.sh +74 -0
- package/.agent/scripts/fix-remaining-literals.sh +152 -0
- package/.agent/scripts/fix-return-statements.sh +41 -0
- package/.agent/scripts/fix-s131-default-cases.sh +249 -0
- package/.agent/scripts/fix-sc2155-simple.sh +102 -0
- package/.agent/scripts/fix-shellcheck-critical.sh +187 -0
- package/.agent/scripts/fix-string-literals.sh +273 -0
- package/.agent/scripts/full-loop-helper.sh +773 -0
- package/.agent/scripts/generate-opencode-agents.sh +497 -0
- package/.agent/scripts/generate-opencode-commands.sh +1629 -0
- package/.agent/scripts/generate-skills.sh +366 -0
- package/.agent/scripts/git-platforms-helper.sh +640 -0
- package/.agent/scripts/gitea-cli-helper.sh +743 -0
- package/.agent/scripts/github-cli-helper.sh +702 -0
- package/.agent/scripts/gitlab-cli-helper.sh +682 -0
- package/.agent/scripts/gsc-add-user-helper.sh +325 -0
- package/.agent/scripts/gsc-sitemap-helper.sh +678 -0
- package/.agent/scripts/hetzner-helper.sh +485 -0
- package/.agent/scripts/hostinger-helper.sh +229 -0
- package/.agent/scripts/keyword-research-helper.sh +1815 -0
- package/.agent/scripts/langflow-helper.sh +544 -0
- package/.agent/scripts/linkedin-automation.py +241 -0
- package/.agent/scripts/linter-manager.sh +599 -0
- package/.agent/scripts/linters-local.sh +434 -0
- package/.agent/scripts/list-keys-helper.sh +488 -0
- package/.agent/scripts/local-browser-automation.py +339 -0
- package/.agent/scripts/localhost-helper.sh +744 -0
- package/.agent/scripts/loop-common.sh +806 -0
- package/.agent/scripts/mainwp-helper.sh +728 -0
- package/.agent/scripts/markdown-formatter.sh +338 -0
- package/.agent/scripts/markdown-lint-fix.sh +311 -0
- package/.agent/scripts/mass-fix-returns.sh +58 -0
- package/.agent/scripts/mcp-diagnose.sh +167 -0
- package/.agent/scripts/mcp-inspector-helper.sh +449 -0
- package/.agent/scripts/memory-helper.sh +650 -0
- package/.agent/scripts/monitor-code-review.sh +255 -0
- package/.agent/scripts/onboarding-helper.sh +706 -0
- package/.agent/scripts/opencode-github-setup-helper.sh +797 -0
- package/.agent/scripts/opencode-test-helper.sh +213 -0
- package/.agent/scripts/pagespeed-helper.sh +464 -0
- package/.agent/scripts/pandoc-helper.sh +362 -0
- package/.agent/scripts/postflight-check.sh +555 -0
- package/.agent/scripts/pre-commit-hook.sh +259 -0
- package/.agent/scripts/pre-edit-check.sh +169 -0
- package/.agent/scripts/qlty-cli.sh +356 -0
- package/.agent/scripts/quality-cli-manager.sh +525 -0
- package/.agent/scripts/quality-feedback-helper.sh +462 -0
- package/.agent/scripts/quality-fix.sh +263 -0
- package/.agent/scripts/quality-loop-helper.sh +1108 -0
- package/.agent/scripts/ralph-loop-helper.sh +836 -0
- package/.agent/scripts/ralph-upstream-check.sh +341 -0
- package/.agent/scripts/secretlint-helper.sh +847 -0
- package/.agent/scripts/servers-helper.sh +241 -0
- package/.agent/scripts/ses-helper.sh +619 -0
- package/.agent/scripts/session-review-helper.sh +404 -0
- package/.agent/scripts/setup-linters-wizard.sh +379 -0
- package/.agent/scripts/setup-local-api-keys.sh +330 -0
- package/.agent/scripts/setup-mcp-integrations.sh +472 -0
- package/.agent/scripts/shared-constants.sh +246 -0
- package/.agent/scripts/site-crawler-helper.sh +1487 -0
- package/.agent/scripts/snyk-helper.sh +940 -0
- package/.agent/scripts/sonarcloud-autofix.sh +193 -0
- package/.agent/scripts/sonarcloud-cli.sh +191 -0
- package/.agent/scripts/sonarscanner-cli.sh +455 -0
- package/.agent/scripts/spaceship-helper.sh +747 -0
- package/.agent/scripts/stagehand-helper.sh +321 -0
- package/.agent/scripts/stagehand-python-helper.sh +321 -0
- package/.agent/scripts/stagehand-python-setup.sh +441 -0
- package/.agent/scripts/stagehand-setup.sh +439 -0
- package/.agent/scripts/system-cleanup.sh +340 -0
- package/.agent/scripts/terminal-title-helper.sh +388 -0
- package/.agent/scripts/terminal-title-setup.sh +549 -0
- package/.agent/scripts/test-stagehand-both-integration.sh +317 -0
- package/.agent/scripts/test-stagehand-integration.sh +309 -0
- package/.agent/scripts/test-stagehand-python-integration.sh +341 -0
- package/.agent/scripts/todo-ready.sh +263 -0
- package/.agent/scripts/tool-version-check.sh +362 -0
- package/.agent/scripts/toon-helper.sh +469 -0
- package/.agent/scripts/twilio-helper.sh +917 -0
- package/.agent/scripts/updown-helper.sh +279 -0
- package/.agent/scripts/validate-mcp-integrations.sh +250 -0
- package/.agent/scripts/validate-version-consistency.sh +131 -0
- package/.agent/scripts/vaultwarden-helper.sh +597 -0
- package/.agent/scripts/vercel-cli-helper.sh +816 -0
- package/.agent/scripts/verify-mirrors.sh +169 -0
- package/.agent/scripts/version-manager.sh +831 -0
- package/.agent/scripts/webhosting-helper.sh +471 -0
- package/.agent/scripts/webhosting-verify.sh +238 -0
- package/.agent/scripts/wordpress-mcp-helper.sh +508 -0
- package/.agent/scripts/worktree-helper.sh +595 -0
- package/.agent/scripts/worktree-sessions.sh +577 -0
- package/.agent/seo/dataforseo.md +215 -0
- package/.agent/seo/domain-research.md +532 -0
- package/.agent/seo/eeat-score.md +659 -0
- package/.agent/seo/google-search-console.md +366 -0
- package/.agent/seo/gsc-sitemaps.md +282 -0
- package/.agent/seo/keyword-research.md +521 -0
- package/.agent/seo/serper.md +278 -0
- package/.agent/seo/site-crawler.md +387 -0
- package/.agent/seo.md +236 -0
- package/.agent/services/accounting/quickfile.md +159 -0
- package/.agent/services/communications/telfon.md +470 -0
- package/.agent/services/communications/twilio.md +569 -0
- package/.agent/services/crm/fluentcrm.md +449 -0
- package/.agent/services/email/ses.md +399 -0
- package/.agent/services/hosting/101domains.md +378 -0
- package/.agent/services/hosting/closte.md +177 -0
- package/.agent/services/hosting/cloudflare.md +251 -0
- package/.agent/services/hosting/cloudron.md +478 -0
- package/.agent/services/hosting/dns-providers.md +335 -0
- package/.agent/services/hosting/domain-purchasing.md +344 -0
- package/.agent/services/hosting/hetzner.md +327 -0
- package/.agent/services/hosting/hostinger.md +287 -0
- package/.agent/services/hosting/localhost.md +419 -0
- package/.agent/services/hosting/spaceship.md +353 -0
- package/.agent/services/hosting/webhosting.md +330 -0
- package/.agent/social-media.md +69 -0
- package/.agent/templates/plans-template.md +114 -0
- package/.agent/templates/prd-template.md +129 -0
- package/.agent/templates/tasks-template.md +108 -0
- package/.agent/templates/todo-template.md +89 -0
- package/.agent/tools/ai-assistants/agno.md +471 -0
- package/.agent/tools/ai-assistants/capsolver.md +326 -0
- package/.agent/tools/ai-assistants/configuration.md +221 -0
- package/.agent/tools/ai-assistants/overview.md +209 -0
- package/.agent/tools/ai-assistants/status.md +171 -0
- package/.agent/tools/ai-assistants/windsurf.md +193 -0
- package/.agent/tools/ai-orchestration/autogen.md +406 -0
- package/.agent/tools/ai-orchestration/crewai.md +445 -0
- package/.agent/tools/ai-orchestration/langflow.md +405 -0
- package/.agent/tools/ai-orchestration/openprose.md +487 -0
- package/.agent/tools/ai-orchestration/overview.md +362 -0
- package/.agent/tools/ai-orchestration/packaging.md +647 -0
- package/.agent/tools/browser/agent-browser.md +464 -0
- package/.agent/tools/browser/browser-automation.md +400 -0
- package/.agent/tools/browser/chrome-devtools.md +282 -0
- package/.agent/tools/browser/crawl4ai-integration.md +422 -0
- package/.agent/tools/browser/crawl4ai-resources.md +277 -0
- package/.agent/tools/browser/crawl4ai-usage.md +416 -0
- package/.agent/tools/browser/crawl4ai.md +585 -0
- package/.agent/tools/browser/dev-browser.md +341 -0
- package/.agent/tools/browser/pagespeed.md +260 -0
- package/.agent/tools/browser/playwright.md +266 -0
- package/.agent/tools/browser/playwriter.md +310 -0
- package/.agent/tools/browser/stagehand-examples.md +456 -0
- package/.agent/tools/browser/stagehand-python.md +483 -0
- package/.agent/tools/browser/stagehand.md +421 -0
- package/.agent/tools/build-agent/agent-review.md +224 -0
- package/.agent/tools/build-agent/build-agent.md +784 -0
- package/.agent/tools/build-mcp/aidevops-plugin.md +476 -0
- package/.agent/tools/build-mcp/api-wrapper.md +445 -0
- package/.agent/tools/build-mcp/build-mcp.md +240 -0
- package/.agent/tools/build-mcp/deployment.md +401 -0
- package/.agent/tools/build-mcp/server-patterns.md +632 -0
- package/.agent/tools/build-mcp/transports.md +366 -0
- package/.agent/tools/code-review/auditing.md +383 -0
- package/.agent/tools/code-review/automation.md +219 -0
- package/.agent/tools/code-review/best-practices.md +203 -0
- package/.agent/tools/code-review/codacy.md +151 -0
- package/.agent/tools/code-review/code-simplifier.md +174 -0
- package/.agent/tools/code-review/code-standards.md +309 -0
- package/.agent/tools/code-review/coderabbit.md +101 -0
- package/.agent/tools/code-review/management.md +155 -0
- package/.agent/tools/code-review/qlty.md +248 -0
- package/.agent/tools/code-review/secretlint.md +565 -0
- package/.agent/tools/code-review/setup.md +250 -0
- package/.agent/tools/code-review/snyk.md +563 -0
- package/.agent/tools/code-review/tools.md +230 -0
- package/.agent/tools/content/summarize.md +353 -0
- package/.agent/tools/context/augment-context-engine.md +468 -0
- package/.agent/tools/context/context-builder-agent.md +76 -0
- package/.agent/tools/context/context-builder.md +375 -0
- package/.agent/tools/context/context7.md +371 -0
- package/.agent/tools/context/dspy.md +302 -0
- package/.agent/tools/context/dspyground.md +374 -0
- package/.agent/tools/context/llm-tldr.md +219 -0
- package/.agent/tools/context/osgrep.md +488 -0
- package/.agent/tools/context/prompt-optimization.md +338 -0
- package/.agent/tools/context/toon.md +292 -0
- package/.agent/tools/conversion/pandoc.md +304 -0
- package/.agent/tools/credentials/api-key-management.md +154 -0
- package/.agent/tools/credentials/api-key-setup.md +224 -0
- package/.agent/tools/credentials/environment-variables.md +180 -0
- package/.agent/tools/credentials/vaultwarden.md +382 -0
- package/.agent/tools/data-extraction/outscraper.md +974 -0
- package/.agent/tools/deployment/coolify-cli.md +388 -0
- package/.agent/tools/deployment/coolify-setup.md +353 -0
- package/.agent/tools/deployment/coolify.md +345 -0
- package/.agent/tools/deployment/vercel.md +390 -0
- package/.agent/tools/git/authentication.md +132 -0
- package/.agent/tools/git/gitea-cli.md +193 -0
- package/.agent/tools/git/github-actions.md +207 -0
- package/.agent/tools/git/github-cli.md +223 -0
- package/.agent/tools/git/gitlab-cli.md +190 -0
- package/.agent/tools/git/opencode-github-security.md +350 -0
- package/.agent/tools/git/opencode-github.md +328 -0
- package/.agent/tools/git/opencode-gitlab.md +252 -0
- package/.agent/tools/git/security.md +196 -0
- package/.agent/tools/git.md +207 -0
- package/.agent/tools/opencode/oh-my-opencode.md +375 -0
- package/.agent/tools/opencode/opencode-anthropic-auth.md +446 -0
- package/.agent/tools/opencode/opencode.md +651 -0
- package/.agent/tools/social-media/bird.md +437 -0
- package/.agent/tools/task-management/beads.md +336 -0
- package/.agent/tools/terminal/terminal-title.md +251 -0
- package/.agent/tools/ui/shadcn.md +196 -0
- package/.agent/tools/ui/ui-skills.md +115 -0
- package/.agent/tools/wordpress/localwp.md +311 -0
- package/.agent/tools/wordpress/mainwp.md +391 -0
- package/.agent/tools/wordpress/scf.md +527 -0
- package/.agent/tools/wordpress/wp-admin.md +729 -0
- package/.agent/tools/wordpress/wp-dev.md +940 -0
- package/.agent/tools/wordpress/wp-preferred.md +398 -0
- package/.agent/tools/wordpress.md +95 -0
- package/.agent/workflows/branch/bugfix.md +63 -0
- package/.agent/workflows/branch/chore.md +95 -0
- package/.agent/workflows/branch/experiment.md +115 -0
- package/.agent/workflows/branch/feature.md +59 -0
- package/.agent/workflows/branch/hotfix.md +98 -0
- package/.agent/workflows/branch/refactor.md +92 -0
- package/.agent/workflows/branch/release.md +96 -0
- package/.agent/workflows/branch.md +347 -0
- package/.agent/workflows/bug-fixing.md +267 -0
- package/.agent/workflows/changelog.md +129 -0
- package/.agent/workflows/code-audit-remote.md +279 -0
- package/.agent/workflows/conversation-starter.md +69 -0
- package/.agent/workflows/error-feedback.md +578 -0
- package/.agent/workflows/feature-development.md +355 -0
- package/.agent/workflows/git-workflow.md +702 -0
- package/.agent/workflows/multi-repo-workspace.md +268 -0
- package/.agent/workflows/plans.md +709 -0
- package/.agent/workflows/postflight.md +604 -0
- package/.agent/workflows/pr.md +571 -0
- package/.agent/workflows/preflight.md +278 -0
- package/.agent/workflows/ralph-loop.md +773 -0
- package/.agent/workflows/release.md +498 -0
- package/.agent/workflows/session-manager.md +254 -0
- package/.agent/workflows/session-review.md +311 -0
- package/.agent/workflows/sql-migrations.md +631 -0
- package/.agent/workflows/version-bump.md +283 -0
- package/.agent/workflows/wiki-update.md +333 -0
- package/.agent/workflows/worktree.md +477 -0
- package/LICENSE +21 -0
- package/README.md +1446 -0
- package/VERSION +1 -0
- package/aidevops.sh +1746 -0
- package/bin/aidevops +21 -0
- package/package.json +75 -0
- package/scripts/npm-postinstall.js +60 -0
- package/setup.sh +2366 -0
|
@@ -0,0 +1,317 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# shellcheck disable=SC2034,SC2155,SC2317,SC2329,SC2016,SC2181,SC1091,SC2154,SC2015,SC2086,SC2129,SC2030,SC2031,SC2119,SC2120,SC2001,SC2162,SC2088,SC2089,SC2090,SC2029,SC2006,SC2153
|
|
3
|
+
|
|
4
|
+
# Test Both Stagehand JavaScript and Python Integration
|
|
5
|
+
# Comprehensive testing script for both Stagehand versions
|
|
6
|
+
|
|
7
|
+
# Source shared constants
|
|
8
|
+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" || exit
|
|
9
|
+
source "${SCRIPT_DIR}/../../.agent/scripts/shared-constants.sh"
|
|
10
|
+
|
|
11
|
+
# Colors for output
|
|
12
|
+
readonly BLUE='\033[0;34m'
|
|
13
|
+
readonly GREEN='\033[0;32m'
|
|
14
|
+
readonly YELLOW='\033[1;33m'
|
|
15
|
+
readonly RED='\033[0;31m'
|
|
16
|
+
readonly NC='\033[0m'
|
|
17
|
+
|
|
18
|
+
# Print functions
|
|
19
|
+
print_info() {
|
|
20
|
+
local msg="$1"
|
|
21
|
+
echo -e "${BLUE}[INFO]${NC} $msg"
|
|
22
|
+
return 0
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
print_success() {
|
|
26
|
+
local msg="$1"
|
|
27
|
+
echo -e "${GREEN}[SUCCESS]${NC} $msg"
|
|
28
|
+
return 0
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
print_warning() {
|
|
32
|
+
local msg="$1"
|
|
33
|
+
echo -e "${YELLOW}[WARNING]${NC} $msg"
|
|
34
|
+
return 0
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
print_error() {
|
|
38
|
+
local msg="$1"
|
|
39
|
+
echo -e "${RED}[ERROR]${NC} $msg" >&2
|
|
40
|
+
return 0
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
# Test configuration
|
|
44
|
+
readonly TEST_RESULTS_DIR="${HOME}/.agent/tmp/stagehand-both-tests"
|
|
45
|
+
readonly TEST_LOG="${TEST_RESULTS_DIR}/test-results.log"
|
|
46
|
+
|
|
47
|
+
# Create test directory
|
|
48
|
+
setup_test_environment() {
|
|
49
|
+
mkdir -p "$TEST_RESULTS_DIR"
|
|
50
|
+
echo "=== Stagehand Both (JS + Python) Integration Test Started: $(date) ===" > "$TEST_LOG"
|
|
51
|
+
print_info "Test environment created at: $TEST_RESULTS_DIR"
|
|
52
|
+
return 0
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
# Test JavaScript integration
|
|
56
|
+
test_javascript_integration() {
|
|
57
|
+
print_info "Testing JavaScript integration..."
|
|
58
|
+
|
|
59
|
+
if bash "${SCRIPT_DIR}/test-stagehand-integration.sh" all > "${TEST_RESULTS_DIR}/js-test.log" 2>&1; then
|
|
60
|
+
print_success "✅ JavaScript integration tests passed"
|
|
61
|
+
echo "PASS: JavaScript integration" >> "$TEST_LOG"
|
|
62
|
+
return 0
|
|
63
|
+
else
|
|
64
|
+
print_error "❌ JavaScript integration tests failed"
|
|
65
|
+
echo "FAIL: JavaScript integration" >> "$TEST_LOG"
|
|
66
|
+
return 1
|
|
67
|
+
fi
|
|
68
|
+
return 0
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
# Test Python integration
|
|
72
|
+
test_python_integration() {
|
|
73
|
+
print_info "Testing Python integration..."
|
|
74
|
+
|
|
75
|
+
if bash "${SCRIPT_DIR}/test-stagehand-python-integration.sh" all > "${TEST_RESULTS_DIR}/python-test.log" 2>&1; then
|
|
76
|
+
print_success "✅ Python integration tests passed"
|
|
77
|
+
echo "PASS: Python integration" >> "$TEST_LOG"
|
|
78
|
+
return 0
|
|
79
|
+
else
|
|
80
|
+
print_error "❌ Python integration tests failed"
|
|
81
|
+
echo "FAIL: Python integration" >> "$TEST_LOG"
|
|
82
|
+
return 1
|
|
83
|
+
fi
|
|
84
|
+
return 0
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
# Test MCP integration for both
|
|
88
|
+
test_both_mcp_integration() {
|
|
89
|
+
print_info "Testing MCP integration for both versions..."
|
|
90
|
+
|
|
91
|
+
local mcp_script="${SCRIPT_DIR}/setup-mcp-integrations.sh"
|
|
92
|
+
|
|
93
|
+
if [[ -f "$mcp_script" ]]; then
|
|
94
|
+
# Check if all Stagehand options are available
|
|
95
|
+
local stagehand_options=("stagehand" "stagehand-python" "stagehand-both")
|
|
96
|
+
local all_found=true
|
|
97
|
+
|
|
98
|
+
for option in "${stagehand_options[@]}"; do
|
|
99
|
+
if grep -q "$option" "$mcp_script"; then
|
|
100
|
+
print_success "✅ MCP option '$option' found"
|
|
101
|
+
echo "PASS: MCP option $option found" >> "$TEST_LOG"
|
|
102
|
+
else
|
|
103
|
+
print_error "❌ MCP option '$option' not found"
|
|
104
|
+
echo "FAIL: MCP option $option missing" >> "$TEST_LOG"
|
|
105
|
+
all_found=false
|
|
106
|
+
fi
|
|
107
|
+
done
|
|
108
|
+
|
|
109
|
+
if $all_found; then
|
|
110
|
+
return 0
|
|
111
|
+
else
|
|
112
|
+
return 1
|
|
113
|
+
fi
|
|
114
|
+
else
|
|
115
|
+
print_error "❌ MCP integrations script not found"
|
|
116
|
+
echo "FAIL: MCP script missing" >> "$TEST_LOG"
|
|
117
|
+
return 1
|
|
118
|
+
fi
|
|
119
|
+
return 0
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
# Test documentation completeness
|
|
123
|
+
test_documentation_completeness() {
|
|
124
|
+
print_info "Testing documentation completeness..."
|
|
125
|
+
|
|
126
|
+
local docs=(
|
|
127
|
+
"${SCRIPT_DIR}/../../.agent/STAGEHAND.md"
|
|
128
|
+
"${SCRIPT_DIR}/../../.agent/STAGEHAND-PYTHON.md"
|
|
129
|
+
"${SCRIPT_DIR}/../../.agent/BROWSER-AUTOMATION.md"
|
|
130
|
+
"${SCRIPT_DIR}/../../README.md"
|
|
131
|
+
)
|
|
132
|
+
|
|
133
|
+
local all_found=true
|
|
134
|
+
|
|
135
|
+
for doc in "${docs[@]}"; do
|
|
136
|
+
if [[ -f "$doc" ]]; then
|
|
137
|
+
# Check if the document mentions both versions
|
|
138
|
+
if grep -q -i "javascript\|python" "$doc"; then
|
|
139
|
+
print_success "✅ Documentation complete: $(basename "$doc")"
|
|
140
|
+
echo "PASS: Documentation $(basename "$doc") complete" >> "$TEST_LOG"
|
|
141
|
+
else
|
|
142
|
+
print_warning "⚠️ Documentation may be incomplete: $(basename "$doc")"
|
|
143
|
+
echo "WARN: Documentation $(basename "$doc") may be incomplete" >> "$TEST_LOG"
|
|
144
|
+
fi
|
|
145
|
+
else
|
|
146
|
+
print_error "❌ Documentation missing: $(basename "$doc")"
|
|
147
|
+
echo "FAIL: Documentation $(basename "$doc") missing" >> "$TEST_LOG"
|
|
148
|
+
all_found=false
|
|
149
|
+
fi
|
|
150
|
+
done
|
|
151
|
+
|
|
152
|
+
if $all_found; then
|
|
153
|
+
return 0
|
|
154
|
+
else
|
|
155
|
+
return 1
|
|
156
|
+
fi
|
|
157
|
+
return 0
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
# Test helper script consistency
|
|
161
|
+
test_helper_consistency() {
|
|
162
|
+
print_info "Testing helper script consistency..."
|
|
163
|
+
|
|
164
|
+
local js_helper="${SCRIPT_DIR}/../../.agent/scripts/stagehand-helper.sh"
|
|
165
|
+
local python_helper="${SCRIPT_DIR}/../../.agent/scripts/stagehand-python-helper.sh"
|
|
166
|
+
|
|
167
|
+
if [[ -f "$js_helper" ]] && [[ -f "$python_helper" ]]; then
|
|
168
|
+
# Check if both have similar command structure
|
|
169
|
+
local js_commands python_commands
|
|
170
|
+
js_commands=$(bash "$js_helper" help 2>/dev/null | grep -E "^\s+[a-z-]+\s+" | awk '{print $_arg1}' | sort)
|
|
171
|
+
python_commands=$(bash "$python_helper" help 2>/dev/null | grep -E "^\s+[a-z-]+\s+" | awk '{print $_arg1}' | sort)
|
|
172
|
+
|
|
173
|
+
# Check for common commands
|
|
174
|
+
local common_commands=("help" "install" "setup" "status" "clean")
|
|
175
|
+
local all_consistent=true
|
|
176
|
+
|
|
177
|
+
for cmd in "${common_commands[@]}"; do
|
|
178
|
+
if echo "$js_commands" | grep -q "^$cmd$" && echo "$python_commands" | grep -q "^$cmd$"; then
|
|
179
|
+
print_success "✅ Command '$cmd' available in both helpers"
|
|
180
|
+
echo "PASS: Command $cmd consistent" >> "$TEST_LOG"
|
|
181
|
+
else
|
|
182
|
+
print_error "❌ Command '$cmd' not consistent between helpers"
|
|
183
|
+
echo "FAIL: Command $cmd inconsistent" >> "$TEST_LOG"
|
|
184
|
+
all_consistent=false
|
|
185
|
+
fi
|
|
186
|
+
done
|
|
187
|
+
|
|
188
|
+
if $all_consistent; then
|
|
189
|
+
return 0
|
|
190
|
+
else
|
|
191
|
+
return 1
|
|
192
|
+
fi
|
|
193
|
+
else
|
|
194
|
+
print_error "❌ One or both helper scripts missing"
|
|
195
|
+
echo "FAIL: Helper scripts missing" >> "$TEST_LOG"
|
|
196
|
+
return 1
|
|
197
|
+
fi
|
|
198
|
+
return 0
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
# Generate comprehensive test report
|
|
202
|
+
generate_comprehensive_report() {
|
|
203
|
+
print_info "Generating comprehensive test report..."
|
|
204
|
+
|
|
205
|
+
local report_file="${TEST_RESULTS_DIR}/comprehensive-integration-test-report.md"
|
|
206
|
+
|
|
207
|
+
cat > "$report_file" << EOF
|
|
208
|
+
# Stagehand Comprehensive Integration Test Report
|
|
209
|
+
|
|
210
|
+
**Test Date**: $(date)
|
|
211
|
+
**Framework Version**: $(bash "${SCRIPT_DIR}/version-manager.sh" get 2>/dev/null || echo "Unknown")
|
|
212
|
+
**Tested Versions**: JavaScript + Python
|
|
213
|
+
|
|
214
|
+
## Test Results Summary
|
|
215
|
+
|
|
216
|
+
$(cat "$TEST_LOG")
|
|
217
|
+
|
|
218
|
+
## Detailed Test Results
|
|
219
|
+
|
|
220
|
+
### JavaScript Integration
|
|
221
|
+
$(if [[ -f "${TEST_RESULTS_DIR}/js-test.log" ]]; then echo "See: js-test.log"; else echo "No detailed log available"; fi)
|
|
222
|
+
|
|
223
|
+
### Python Integration
|
|
224
|
+
$(if [[ -f "${TEST_RESULTS_DIR}/python-test.log" ]]; then echo "See: python-test.log"; else echo "No detailed log available"; fi)
|
|
225
|
+
|
|
226
|
+
## Summary Statistics
|
|
227
|
+
|
|
228
|
+
- **JavaScript Tests**: $(grep -c "PASS.*JavaScript" "$TEST_LOG" || echo 0) passed, $(grep -c "FAIL.*JavaScript" "$TEST_LOG" || echo 0) failed
|
|
229
|
+
- **Python Tests**: $(grep -c "PASS.*Python" "$TEST_LOG" || echo 0) passed, $(grep -c "FAIL.*Python" "$TEST_LOG" || echo 0) failed
|
|
230
|
+
- **MCP Integration**: $(grep -c "PASS.*MCP" "$TEST_LOG" || echo 0) passed, $(grep -c "FAIL.*MCP" "$TEST_LOG" || echo 0) failed
|
|
231
|
+
- **Documentation**: $(grep -c "PASS.*Documentation" "$TEST_LOG" || echo 0) passed, $(grep -c "FAIL.*Documentation" "$TEST_LOG" || echo 0) failed
|
|
232
|
+
- **Helper Consistency**: $(grep -c "PASS.*Command" "$TEST_LOG" || echo 0) passed, $(grep -c "FAIL.*Command" "$TEST_LOG" || echo 0) failed
|
|
233
|
+
|
|
234
|
+
## Next Steps
|
|
235
|
+
|
|
236
|
+
### JavaScript Setup
|
|
237
|
+
1. Run: \`bash .agent/scripts/stagehand-helper.sh setup\`
|
|
238
|
+
2. Test: \`bash .agent/scripts/setup-mcp-integrations.sh stagehand\`
|
|
239
|
+
|
|
240
|
+
### Python Setup
|
|
241
|
+
1. Run: \`bash .agent/scripts/stagehand-python-helper.sh setup\`
|
|
242
|
+
2. Test: \`bash .agent/scripts/setup-mcp-integrations.sh stagehand-python\`
|
|
243
|
+
|
|
244
|
+
### Both Versions
|
|
245
|
+
1. Run: \`bash .agent/scripts/setup-mcp-integrations.sh stagehand-both\`
|
|
246
|
+
|
|
247
|
+
## Files Created
|
|
248
|
+
|
|
249
|
+
- Test results: $TEST_LOG
|
|
250
|
+
- JavaScript detailed log: ${TEST_RESULTS_DIR}/js-test.log
|
|
251
|
+
- Python detailed log: ${TEST_RESULTS_DIR}/python-test.log
|
|
252
|
+
- This report: $report_file
|
|
253
|
+
EOF
|
|
254
|
+
|
|
255
|
+
print_success "Comprehensive test report generated: $report_file"
|
|
256
|
+
return 0
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
# Main test function
|
|
260
|
+
main() {
|
|
261
|
+
local command="${1:-all}"
|
|
262
|
+
|
|
263
|
+
case "$command" in
|
|
264
|
+
"all")
|
|
265
|
+
setup_test_environment
|
|
266
|
+
test_javascript_integration
|
|
267
|
+
test_python_integration
|
|
268
|
+
test_both_mcp_integration
|
|
269
|
+
test_documentation_completeness
|
|
270
|
+
test_helper_consistency
|
|
271
|
+
generate_comprehensive_report
|
|
272
|
+
print_success "All comprehensive integration tests completed!"
|
|
273
|
+
;;
|
|
274
|
+
"js")
|
|
275
|
+
setup_test_environment && test_javascript_integration
|
|
276
|
+
;;
|
|
277
|
+
"python")
|
|
278
|
+
setup_test_environment && test_python_integration
|
|
279
|
+
;;
|
|
280
|
+
"mcp")
|
|
281
|
+
setup_test_environment && test_both_mcp_integration
|
|
282
|
+
;;
|
|
283
|
+
"docs")
|
|
284
|
+
setup_test_environment && test_documentation_completeness
|
|
285
|
+
;;
|
|
286
|
+
"consistency")
|
|
287
|
+
setup_test_environment && test_helper_consistency
|
|
288
|
+
;;
|
|
289
|
+
"help")
|
|
290
|
+
cat << EOF
|
|
291
|
+
Stagehand Comprehensive Integration Test Script
|
|
292
|
+
|
|
293
|
+
USAGE:
|
|
294
|
+
$0 [COMMAND]
|
|
295
|
+
|
|
296
|
+
COMMANDS:
|
|
297
|
+
all Run all tests (default)
|
|
298
|
+
js Test JavaScript integration only
|
|
299
|
+
python Test Python integration only
|
|
300
|
+
mcp Test MCP integration only
|
|
301
|
+
docs Test documentation completeness only
|
|
302
|
+
consistency Test helper script consistency only
|
|
303
|
+
help Show this help
|
|
304
|
+
|
|
305
|
+
EOF
|
|
306
|
+
;;
|
|
307
|
+
*)
|
|
308
|
+
print_error "$ERROR_UNKNOWN_COMMAND $command"
|
|
309
|
+
return 1
|
|
310
|
+
;;
|
|
311
|
+
esac
|
|
312
|
+
|
|
313
|
+
return 0
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
# Execute main function
|
|
317
|
+
main "$@"
|
|
@@ -0,0 +1,309 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# shellcheck disable=SC2034,SC2155,SC2317,SC2329,SC2016,SC2181,SC1091,SC2154,SC2015,SC2086,SC2129,SC2030,SC2031,SC2119,SC2120,SC2001,SC2162,SC2088,SC2089,SC2090,SC2029,SC2006,SC2153
|
|
3
|
+
|
|
4
|
+
# Test Stagehand Integration with AI DevOps Framework
|
|
5
|
+
# Comprehensive testing script for Stagehand setup and functionality
|
|
6
|
+
|
|
7
|
+
# Source shared constants
|
|
8
|
+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" || exit
|
|
9
|
+
source "${SCRIPT_DIR}/../../.agent/scripts/shared-constants.sh"
|
|
10
|
+
|
|
11
|
+
# Colors for output
|
|
12
|
+
readonly BLUE='\033[0;34m'
|
|
13
|
+
readonly GREEN='\033[0;32m'
|
|
14
|
+
readonly YELLOW='\033[1;33m'
|
|
15
|
+
readonly RED='\033[0;31m'
|
|
16
|
+
readonly NC='\033[0m'
|
|
17
|
+
|
|
18
|
+
# Print functions
|
|
19
|
+
print_info() {
|
|
20
|
+
local msg="$1"
|
|
21
|
+
echo -e "${BLUE}[INFO]${NC} $msg"
|
|
22
|
+
return 0
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
print_success() {
|
|
26
|
+
local msg="$1"
|
|
27
|
+
echo -e "${GREEN}[SUCCESS]${NC} $msg"
|
|
28
|
+
return 0
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
print_warning() {
|
|
32
|
+
local msg="$1"
|
|
33
|
+
echo -e "${YELLOW}[WARNING]${NC} $msg"
|
|
34
|
+
return 0
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
print_error() {
|
|
38
|
+
local msg="$1"
|
|
39
|
+
echo -e "${RED}[ERROR]${NC} $msg" >&2
|
|
40
|
+
return 0
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
# Test configuration
|
|
44
|
+
readonly TEST_RESULTS_DIR="${HOME}/.agent/tmp/stagehand-tests"
|
|
45
|
+
readonly TEST_LOG="${TEST_RESULTS_DIR}/test-results.log"
|
|
46
|
+
|
|
47
|
+
# Create test directory
|
|
48
|
+
setup_test_environment() {
|
|
49
|
+
mkdir -p "$TEST_RESULTS_DIR"
|
|
50
|
+
echo "=== Stagehand Integration Test Started: $(date) ===" > "$TEST_LOG"
|
|
51
|
+
print_info "Test environment created at: $TEST_RESULTS_DIR"
|
|
52
|
+
return 0
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
# Test 1: Check if Stagehand helper exists and is executable
|
|
56
|
+
test_helper_script() {
|
|
57
|
+
print_info "Testing Stagehand helper script..."
|
|
58
|
+
|
|
59
|
+
local helper_script="${SCRIPT_DIR}/../../.agent/scripts/stagehand-helper.sh"
|
|
60
|
+
|
|
61
|
+
if [[ -f "$helper_script" ]]; then
|
|
62
|
+
print_success "✅ Stagehand helper script exists"
|
|
63
|
+
echo "PASS: Helper script exists" >> "$TEST_LOG"
|
|
64
|
+
else
|
|
65
|
+
print_error "❌ Stagehand helper script not found"
|
|
66
|
+
echo "FAIL: Helper script missing" >> "$TEST_LOG"
|
|
67
|
+
return 1
|
|
68
|
+
fi
|
|
69
|
+
|
|
70
|
+
if [[ -x "$helper_script" ]]; then
|
|
71
|
+
print_success "✅ Stagehand helper script is executable"
|
|
72
|
+
echo "PASS: Helper script executable" >> "$TEST_LOG"
|
|
73
|
+
else
|
|
74
|
+
print_error "❌ Stagehand helper script is not executable"
|
|
75
|
+
echo "FAIL: Helper script not executable" >> "$TEST_LOG"
|
|
76
|
+
return 1
|
|
77
|
+
fi
|
|
78
|
+
|
|
79
|
+
return 0
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
# Test 2: Check if documentation exists
|
|
83
|
+
test_documentation() {
|
|
84
|
+
print_info "Testing Stagehand documentation..."
|
|
85
|
+
|
|
86
|
+
local docs=(
|
|
87
|
+
"${SCRIPT_DIR}/../../.agent/STAGEHAND.md"
|
|
88
|
+
"${SCRIPT_DIR}/../../.agent/mcp-examples/stagehand-automation-examples.md"
|
|
89
|
+
)
|
|
90
|
+
|
|
91
|
+
for doc in "${docs[@]}"; do
|
|
92
|
+
if [[ -f "$doc" ]]; then
|
|
93
|
+
print_success "✅ Documentation exists: $(basename "$doc")"
|
|
94
|
+
echo "PASS: Documentation $(basename "$doc") exists" >> "$TEST_LOG"
|
|
95
|
+
else
|
|
96
|
+
print_error "❌ Documentation missing: $(basename "$doc")"
|
|
97
|
+
echo "FAIL: Documentation $(basename "$doc") missing" >> "$TEST_LOG"
|
|
98
|
+
return 1
|
|
99
|
+
fi
|
|
100
|
+
done
|
|
101
|
+
|
|
102
|
+
return 0
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
# Test 3: Check MCP integration setup
|
|
106
|
+
test_mcp_integration() {
|
|
107
|
+
print_info "Testing MCP integration setup..."
|
|
108
|
+
|
|
109
|
+
local mcp_script="${SCRIPT_DIR}/setup-mcp-integrations.sh"
|
|
110
|
+
|
|
111
|
+
if [[ -f "$mcp_script" ]]; then
|
|
112
|
+
# Check if stagehand is in the MCP list
|
|
113
|
+
if grep -q "stagehand" "$mcp_script"; then
|
|
114
|
+
print_success "✅ Stagehand found in MCP integrations script"
|
|
115
|
+
echo "PASS: Stagehand in MCP script" >> "$TEST_LOG"
|
|
116
|
+
else
|
|
117
|
+
print_error "❌ Stagehand not found in MCP integrations script"
|
|
118
|
+
echo "FAIL: Stagehand not in MCP script" >> "$TEST_LOG"
|
|
119
|
+
return 1
|
|
120
|
+
fi
|
|
121
|
+
else
|
|
122
|
+
print_error "❌ MCP integrations script not found"
|
|
123
|
+
echo "FAIL: MCP script missing" >> "$TEST_LOG"
|
|
124
|
+
return 1
|
|
125
|
+
fi
|
|
126
|
+
|
|
127
|
+
return 0
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
# Test 4: Test helper script commands
|
|
131
|
+
test_helper_commands() {
|
|
132
|
+
print_info "Testing Stagehand helper commands..."
|
|
133
|
+
|
|
134
|
+
local helper_script="${SCRIPT_DIR}/../../.agent/scripts/stagehand-helper.sh"
|
|
135
|
+
|
|
136
|
+
# Test help command
|
|
137
|
+
if bash "$helper_script" help > /dev/null 2>&1; then
|
|
138
|
+
print_success "✅ Help command works"
|
|
139
|
+
echo "PASS: Help command" >> "$TEST_LOG"
|
|
140
|
+
else
|
|
141
|
+
print_error "❌ Help command failed"
|
|
142
|
+
echo "FAIL: Help command" >> "$TEST_LOG"
|
|
143
|
+
return 1
|
|
144
|
+
fi
|
|
145
|
+
|
|
146
|
+
# Test status command (should work even without installation)
|
|
147
|
+
if bash "$helper_script" status > /dev/null 2>&1; then
|
|
148
|
+
print_success "✅ Status command works"
|
|
149
|
+
echo "PASS: Status command" >> "$TEST_LOG"
|
|
150
|
+
else
|
|
151
|
+
print_info "ℹ️ Status command indicates Stagehand not installed (expected)"
|
|
152
|
+
echo "INFO: Status command - not installed" >> "$TEST_LOG"
|
|
153
|
+
fi
|
|
154
|
+
|
|
155
|
+
return 0
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
# Test 5: Check Node.js and npm availability
|
|
159
|
+
test_prerequisites() {
|
|
160
|
+
print_info "Testing prerequisites..."
|
|
161
|
+
|
|
162
|
+
if command -v node &> /dev/null; then
|
|
163
|
+
local node_version
|
|
164
|
+
node_version=$(node --version)
|
|
165
|
+
print_success "✅ Node.js available: $node_version"
|
|
166
|
+
echo "PASS: Node.js $node_version" >> "$TEST_LOG"
|
|
167
|
+
else
|
|
168
|
+
print_error "❌ Node.js not found (required for Stagehand)"
|
|
169
|
+
echo "FAIL: Node.js missing" >> "$TEST_LOG"
|
|
170
|
+
return 1
|
|
171
|
+
fi
|
|
172
|
+
|
|
173
|
+
if command -v npm &> /dev/null; then
|
|
174
|
+
local npm_version
|
|
175
|
+
npm_version=$(npm --version)
|
|
176
|
+
print_success "✅ npm available: $npm_version"
|
|
177
|
+
echo "PASS: npm $npm_version" >> "$TEST_LOG"
|
|
178
|
+
else
|
|
179
|
+
print_error "❌ npm not found (required for Stagehand)"
|
|
180
|
+
echo "FAIL: npm missing" >> "$TEST_LOG"
|
|
181
|
+
return 1
|
|
182
|
+
fi
|
|
183
|
+
|
|
184
|
+
return 0
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
# Test 6: Validate example scripts
|
|
188
|
+
test_example_scripts() {
|
|
189
|
+
print_info "Testing example script templates..."
|
|
190
|
+
|
|
191
|
+
local setup_script="${SCRIPT_DIR}/stagehand-setup.sh"
|
|
192
|
+
|
|
193
|
+
if [[ -f "$setup_script" ]]; then
|
|
194
|
+
print_success "✅ Stagehand setup script exists"
|
|
195
|
+
echo "PASS: Setup script exists" >> "$TEST_LOG"
|
|
196
|
+
|
|
197
|
+
if [[ -x "$setup_script" ]]; then
|
|
198
|
+
print_success "✅ Setup script is executable"
|
|
199
|
+
echo "PASS: Setup script executable" >> "$TEST_LOG"
|
|
200
|
+
else
|
|
201
|
+
print_error "❌ Setup script is not executable"
|
|
202
|
+
echo "FAIL: Setup script not executable" >> "$TEST_LOG"
|
|
203
|
+
return 1
|
|
204
|
+
fi
|
|
205
|
+
else
|
|
206
|
+
print_error "❌ Stagehand setup script not found"
|
|
207
|
+
echo "FAIL: Setup script missing" >> "$TEST_LOG"
|
|
208
|
+
return 1
|
|
209
|
+
fi
|
|
210
|
+
|
|
211
|
+
return 0
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
# Generate test report
|
|
215
|
+
generate_report() {
|
|
216
|
+
print_info "Generating test report..."
|
|
217
|
+
|
|
218
|
+
local report_file="${TEST_RESULTS_DIR}/integration-test-report.md"
|
|
219
|
+
|
|
220
|
+
cat > "$report_file" << EOF
|
|
221
|
+
# Stagehand Integration Test Report
|
|
222
|
+
|
|
223
|
+
**Test Date**: $(date)
|
|
224
|
+
**Framework Version**: $(bash "${SCRIPT_DIR}/version-manager.sh" get 2>/dev/null || echo "Unknown")
|
|
225
|
+
|
|
226
|
+
## Test Results
|
|
227
|
+
|
|
228
|
+
$(cat "$TEST_LOG")
|
|
229
|
+
|
|
230
|
+
## Summary
|
|
231
|
+
|
|
232
|
+
- **Helper Script**: $(grep -c "PASS.*Helper" "$TEST_LOG" || echo 0) tests passed
|
|
233
|
+
- **Documentation**: $(grep -c "PASS.*Documentation" "$TEST_LOG" || echo 0) tests passed
|
|
234
|
+
- **MCP Integration**: $(grep -c "PASS.*MCP" "$TEST_LOG" || echo 0) tests passed
|
|
235
|
+
- **Prerequisites**: $(grep -c "PASS.*Node\|PASS.*npm" "$TEST_LOG" || echo 0) tests passed
|
|
236
|
+
- **Commands**: $(grep -c "PASS.*command" "$TEST_LOG" || echo 0) tests passed
|
|
237
|
+
|
|
238
|
+
## Next Steps
|
|
239
|
+
|
|
240
|
+
1. Run full installation: \`bash .agent/scripts/stagehand-helper.sh setup\`
|
|
241
|
+
2. Test MCP integration: \`bash .agent/scripts/setup-mcp-integrations.sh stagehand\`
|
|
242
|
+
3. Try examples: \`cd ~/.aidevops/stagehand && npm run search-products\` || exit
|
|
243
|
+
|
|
244
|
+
## Files Created
|
|
245
|
+
|
|
246
|
+
- Test results: $TEST_LOG
|
|
247
|
+
- This report: $report_file
|
|
248
|
+
EOF
|
|
249
|
+
|
|
250
|
+
print_success "Test report generated: $report_file"
|
|
251
|
+
return 0
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
# Main test function
|
|
255
|
+
main() {
|
|
256
|
+
local command="${1:-all}"
|
|
257
|
+
|
|
258
|
+
case "$command" in
|
|
259
|
+
"all")
|
|
260
|
+
setup_test_environment
|
|
261
|
+
test_helper_script
|
|
262
|
+
test_documentation
|
|
263
|
+
test_mcp_integration
|
|
264
|
+
test_helper_commands
|
|
265
|
+
test_prerequisites
|
|
266
|
+
test_example_scripts
|
|
267
|
+
generate_report
|
|
268
|
+
print_success "All integration tests completed!"
|
|
269
|
+
;;
|
|
270
|
+
"helper")
|
|
271
|
+
setup_test_environment && test_helper_script
|
|
272
|
+
;;
|
|
273
|
+
"docs")
|
|
274
|
+
setup_test_environment && test_documentation
|
|
275
|
+
;;
|
|
276
|
+
"mcp")
|
|
277
|
+
setup_test_environment && test_mcp_integration
|
|
278
|
+
;;
|
|
279
|
+
"prereqs")
|
|
280
|
+
setup_test_environment && test_prerequisites
|
|
281
|
+
;;
|
|
282
|
+
"help")
|
|
283
|
+
cat << EOF
|
|
284
|
+
Stagehand Integration Test Script
|
|
285
|
+
|
|
286
|
+
USAGE:
|
|
287
|
+
$0 [COMMAND]
|
|
288
|
+
|
|
289
|
+
COMMANDS:
|
|
290
|
+
all Run all tests (default)
|
|
291
|
+
helper Test helper script only
|
|
292
|
+
docs Test documentation only
|
|
293
|
+
mcp Test MCP integration only
|
|
294
|
+
prereqs Test prerequisites only
|
|
295
|
+
help Show this help
|
|
296
|
+
|
|
297
|
+
EOF
|
|
298
|
+
;;
|
|
299
|
+
*)
|
|
300
|
+
print_error "$ERROR_UNKNOWN_COMMAND $command"
|
|
301
|
+
return 1
|
|
302
|
+
;;
|
|
303
|
+
esac
|
|
304
|
+
|
|
305
|
+
return 0
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
# Execute main function
|
|
309
|
+
main "$@"
|