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.
Files changed (329) hide show
  1. package/.agent/AGENTS.md +614 -0
  2. package/.agent/accounts.md +65 -0
  3. package/.agent/aidevops/add-new-mcp-to-aidevops.md +456 -0
  4. package/.agent/aidevops/api-integrations.md +335 -0
  5. package/.agent/aidevops/architecture.md +510 -0
  6. package/.agent/aidevops/configs.md +274 -0
  7. package/.agent/aidevops/docs.md +244 -0
  8. package/.agent/aidevops/extension.md +311 -0
  9. package/.agent/aidevops/mcp-integrations.md +340 -0
  10. package/.agent/aidevops/mcp-troubleshooting.md +162 -0
  11. package/.agent/aidevops/memory-patterns.md +172 -0
  12. package/.agent/aidevops/providers.md +217 -0
  13. package/.agent/aidevops/recommendations.md +321 -0
  14. package/.agent/aidevops/requirements.md +301 -0
  15. package/.agent/aidevops/resources.md +214 -0
  16. package/.agent/aidevops/security-requirements.md +174 -0
  17. package/.agent/aidevops/security.md +350 -0
  18. package/.agent/aidevops/service-links.md +400 -0
  19. package/.agent/aidevops/services.md +357 -0
  20. package/.agent/aidevops/setup.md +153 -0
  21. package/.agent/aidevops/troubleshooting.md +389 -0
  22. package/.agent/aidevops.md +124 -0
  23. package/.agent/build-plus.md +244 -0
  24. package/.agent/content/guidelines.md +109 -0
  25. package/.agent/content.md +87 -0
  26. package/.agent/health.md +59 -0
  27. package/.agent/legal.md +59 -0
  28. package/.agent/loop-state/full-loop.local.md +16 -0
  29. package/.agent/loop-state/ralph-loop.local.md +10 -0
  30. package/.agent/marketing.md +440 -0
  31. package/.agent/memory/README.md +260 -0
  32. package/.agent/onboarding.md +796 -0
  33. package/.agent/plan-plus.md +245 -0
  34. package/.agent/research.md +100 -0
  35. package/.agent/sales.md +333 -0
  36. package/.agent/scripts/101domains-helper.sh +701 -0
  37. package/.agent/scripts/add-missing-returns.sh +140 -0
  38. package/.agent/scripts/agent-browser-helper.sh +311 -0
  39. package/.agent/scripts/agno-setup.sh +712 -0
  40. package/.agent/scripts/ahrefs-mcp-wrapper.js +168 -0
  41. package/.agent/scripts/aidevops-update-check.sh +71 -0
  42. package/.agent/scripts/ampcode-cli.sh +522 -0
  43. package/.agent/scripts/auto-version-bump.sh +156 -0
  44. package/.agent/scripts/autogen-helper.sh +512 -0
  45. package/.agent/scripts/beads-sync-helper.sh +596 -0
  46. package/.agent/scripts/closte-helper.sh +5 -0
  47. package/.agent/scripts/cloudron-helper.sh +321 -0
  48. package/.agent/scripts/codacy-cli-chunked.sh +581 -0
  49. package/.agent/scripts/codacy-cli.sh +442 -0
  50. package/.agent/scripts/code-audit-helper.sh +5 -0
  51. package/.agent/scripts/coderabbit-cli.sh +417 -0
  52. package/.agent/scripts/coderabbit-pro-analysis.sh +238 -0
  53. package/.agent/scripts/commands/code-simplifier.md +86 -0
  54. package/.agent/scripts/commands/full-loop.md +246 -0
  55. package/.agent/scripts/commands/postflight-loop.md +103 -0
  56. package/.agent/scripts/commands/recall.md +182 -0
  57. package/.agent/scripts/commands/remember.md +132 -0
  58. package/.agent/scripts/commands/save-todo.md +175 -0
  59. package/.agent/scripts/commands/session-review.md +154 -0
  60. package/.agent/scripts/comprehensive-quality-fix.sh +106 -0
  61. package/.agent/scripts/context-builder-helper.sh +522 -0
  62. package/.agent/scripts/coolify-cli-helper.sh +674 -0
  63. package/.agent/scripts/coolify-helper.sh +380 -0
  64. package/.agent/scripts/crawl4ai-examples.sh +401 -0
  65. package/.agent/scripts/crawl4ai-helper.sh +1078 -0
  66. package/.agent/scripts/crewai-helper.sh +681 -0
  67. package/.agent/scripts/dev-browser-helper.sh +513 -0
  68. package/.agent/scripts/dns-helper.sh +396 -0
  69. package/.agent/scripts/domain-research-helper.sh +917 -0
  70. package/.agent/scripts/dspy-helper.sh +285 -0
  71. package/.agent/scripts/dspyground-helper.sh +291 -0
  72. package/.agent/scripts/eeat-score-helper.sh +1242 -0
  73. package/.agent/scripts/efficient-return-fix.sh +92 -0
  74. package/.agent/scripts/extract-opencode-prompts.sh +128 -0
  75. package/.agent/scripts/find-missing-returns.sh +113 -0
  76. package/.agent/scripts/fix-auth-headers.sh +104 -0
  77. package/.agent/scripts/fix-common-strings.sh +254 -0
  78. package/.agent/scripts/fix-content-type.sh +100 -0
  79. package/.agent/scripts/fix-error-messages.sh +130 -0
  80. package/.agent/scripts/fix-misplaced-returns.sh +74 -0
  81. package/.agent/scripts/fix-remaining-literals.sh +152 -0
  82. package/.agent/scripts/fix-return-statements.sh +41 -0
  83. package/.agent/scripts/fix-s131-default-cases.sh +249 -0
  84. package/.agent/scripts/fix-sc2155-simple.sh +102 -0
  85. package/.agent/scripts/fix-shellcheck-critical.sh +187 -0
  86. package/.agent/scripts/fix-string-literals.sh +273 -0
  87. package/.agent/scripts/full-loop-helper.sh +773 -0
  88. package/.agent/scripts/generate-opencode-agents.sh +497 -0
  89. package/.agent/scripts/generate-opencode-commands.sh +1629 -0
  90. package/.agent/scripts/generate-skills.sh +366 -0
  91. package/.agent/scripts/git-platforms-helper.sh +640 -0
  92. package/.agent/scripts/gitea-cli-helper.sh +743 -0
  93. package/.agent/scripts/github-cli-helper.sh +702 -0
  94. package/.agent/scripts/gitlab-cli-helper.sh +682 -0
  95. package/.agent/scripts/gsc-add-user-helper.sh +325 -0
  96. package/.agent/scripts/gsc-sitemap-helper.sh +678 -0
  97. package/.agent/scripts/hetzner-helper.sh +485 -0
  98. package/.agent/scripts/hostinger-helper.sh +229 -0
  99. package/.agent/scripts/keyword-research-helper.sh +1815 -0
  100. package/.agent/scripts/langflow-helper.sh +544 -0
  101. package/.agent/scripts/linkedin-automation.py +241 -0
  102. package/.agent/scripts/linter-manager.sh +599 -0
  103. package/.agent/scripts/linters-local.sh +434 -0
  104. package/.agent/scripts/list-keys-helper.sh +488 -0
  105. package/.agent/scripts/local-browser-automation.py +339 -0
  106. package/.agent/scripts/localhost-helper.sh +744 -0
  107. package/.agent/scripts/loop-common.sh +806 -0
  108. package/.agent/scripts/mainwp-helper.sh +728 -0
  109. package/.agent/scripts/markdown-formatter.sh +338 -0
  110. package/.agent/scripts/markdown-lint-fix.sh +311 -0
  111. package/.agent/scripts/mass-fix-returns.sh +58 -0
  112. package/.agent/scripts/mcp-diagnose.sh +167 -0
  113. package/.agent/scripts/mcp-inspector-helper.sh +449 -0
  114. package/.agent/scripts/memory-helper.sh +650 -0
  115. package/.agent/scripts/monitor-code-review.sh +255 -0
  116. package/.agent/scripts/onboarding-helper.sh +706 -0
  117. package/.agent/scripts/opencode-github-setup-helper.sh +797 -0
  118. package/.agent/scripts/opencode-test-helper.sh +213 -0
  119. package/.agent/scripts/pagespeed-helper.sh +464 -0
  120. package/.agent/scripts/pandoc-helper.sh +362 -0
  121. package/.agent/scripts/postflight-check.sh +555 -0
  122. package/.agent/scripts/pre-commit-hook.sh +259 -0
  123. package/.agent/scripts/pre-edit-check.sh +169 -0
  124. package/.agent/scripts/qlty-cli.sh +356 -0
  125. package/.agent/scripts/quality-cli-manager.sh +525 -0
  126. package/.agent/scripts/quality-feedback-helper.sh +462 -0
  127. package/.agent/scripts/quality-fix.sh +263 -0
  128. package/.agent/scripts/quality-loop-helper.sh +1108 -0
  129. package/.agent/scripts/ralph-loop-helper.sh +836 -0
  130. package/.agent/scripts/ralph-upstream-check.sh +341 -0
  131. package/.agent/scripts/secretlint-helper.sh +847 -0
  132. package/.agent/scripts/servers-helper.sh +241 -0
  133. package/.agent/scripts/ses-helper.sh +619 -0
  134. package/.agent/scripts/session-review-helper.sh +404 -0
  135. package/.agent/scripts/setup-linters-wizard.sh +379 -0
  136. package/.agent/scripts/setup-local-api-keys.sh +330 -0
  137. package/.agent/scripts/setup-mcp-integrations.sh +472 -0
  138. package/.agent/scripts/shared-constants.sh +246 -0
  139. package/.agent/scripts/site-crawler-helper.sh +1487 -0
  140. package/.agent/scripts/snyk-helper.sh +940 -0
  141. package/.agent/scripts/sonarcloud-autofix.sh +193 -0
  142. package/.agent/scripts/sonarcloud-cli.sh +191 -0
  143. package/.agent/scripts/sonarscanner-cli.sh +455 -0
  144. package/.agent/scripts/spaceship-helper.sh +747 -0
  145. package/.agent/scripts/stagehand-helper.sh +321 -0
  146. package/.agent/scripts/stagehand-python-helper.sh +321 -0
  147. package/.agent/scripts/stagehand-python-setup.sh +441 -0
  148. package/.agent/scripts/stagehand-setup.sh +439 -0
  149. package/.agent/scripts/system-cleanup.sh +340 -0
  150. package/.agent/scripts/terminal-title-helper.sh +388 -0
  151. package/.agent/scripts/terminal-title-setup.sh +549 -0
  152. package/.agent/scripts/test-stagehand-both-integration.sh +317 -0
  153. package/.agent/scripts/test-stagehand-integration.sh +309 -0
  154. package/.agent/scripts/test-stagehand-python-integration.sh +341 -0
  155. package/.agent/scripts/todo-ready.sh +263 -0
  156. package/.agent/scripts/tool-version-check.sh +362 -0
  157. package/.agent/scripts/toon-helper.sh +469 -0
  158. package/.agent/scripts/twilio-helper.sh +917 -0
  159. package/.agent/scripts/updown-helper.sh +279 -0
  160. package/.agent/scripts/validate-mcp-integrations.sh +250 -0
  161. package/.agent/scripts/validate-version-consistency.sh +131 -0
  162. package/.agent/scripts/vaultwarden-helper.sh +597 -0
  163. package/.agent/scripts/vercel-cli-helper.sh +816 -0
  164. package/.agent/scripts/verify-mirrors.sh +169 -0
  165. package/.agent/scripts/version-manager.sh +831 -0
  166. package/.agent/scripts/webhosting-helper.sh +471 -0
  167. package/.agent/scripts/webhosting-verify.sh +238 -0
  168. package/.agent/scripts/wordpress-mcp-helper.sh +508 -0
  169. package/.agent/scripts/worktree-helper.sh +595 -0
  170. package/.agent/scripts/worktree-sessions.sh +577 -0
  171. package/.agent/seo/dataforseo.md +215 -0
  172. package/.agent/seo/domain-research.md +532 -0
  173. package/.agent/seo/eeat-score.md +659 -0
  174. package/.agent/seo/google-search-console.md +366 -0
  175. package/.agent/seo/gsc-sitemaps.md +282 -0
  176. package/.agent/seo/keyword-research.md +521 -0
  177. package/.agent/seo/serper.md +278 -0
  178. package/.agent/seo/site-crawler.md +387 -0
  179. package/.agent/seo.md +236 -0
  180. package/.agent/services/accounting/quickfile.md +159 -0
  181. package/.agent/services/communications/telfon.md +470 -0
  182. package/.agent/services/communications/twilio.md +569 -0
  183. package/.agent/services/crm/fluentcrm.md +449 -0
  184. package/.agent/services/email/ses.md +399 -0
  185. package/.agent/services/hosting/101domains.md +378 -0
  186. package/.agent/services/hosting/closte.md +177 -0
  187. package/.agent/services/hosting/cloudflare.md +251 -0
  188. package/.agent/services/hosting/cloudron.md +478 -0
  189. package/.agent/services/hosting/dns-providers.md +335 -0
  190. package/.agent/services/hosting/domain-purchasing.md +344 -0
  191. package/.agent/services/hosting/hetzner.md +327 -0
  192. package/.agent/services/hosting/hostinger.md +287 -0
  193. package/.agent/services/hosting/localhost.md +419 -0
  194. package/.agent/services/hosting/spaceship.md +353 -0
  195. package/.agent/services/hosting/webhosting.md +330 -0
  196. package/.agent/social-media.md +69 -0
  197. package/.agent/templates/plans-template.md +114 -0
  198. package/.agent/templates/prd-template.md +129 -0
  199. package/.agent/templates/tasks-template.md +108 -0
  200. package/.agent/templates/todo-template.md +89 -0
  201. package/.agent/tools/ai-assistants/agno.md +471 -0
  202. package/.agent/tools/ai-assistants/capsolver.md +326 -0
  203. package/.agent/tools/ai-assistants/configuration.md +221 -0
  204. package/.agent/tools/ai-assistants/overview.md +209 -0
  205. package/.agent/tools/ai-assistants/status.md +171 -0
  206. package/.agent/tools/ai-assistants/windsurf.md +193 -0
  207. package/.agent/tools/ai-orchestration/autogen.md +406 -0
  208. package/.agent/tools/ai-orchestration/crewai.md +445 -0
  209. package/.agent/tools/ai-orchestration/langflow.md +405 -0
  210. package/.agent/tools/ai-orchestration/openprose.md +487 -0
  211. package/.agent/tools/ai-orchestration/overview.md +362 -0
  212. package/.agent/tools/ai-orchestration/packaging.md +647 -0
  213. package/.agent/tools/browser/agent-browser.md +464 -0
  214. package/.agent/tools/browser/browser-automation.md +400 -0
  215. package/.agent/tools/browser/chrome-devtools.md +282 -0
  216. package/.agent/tools/browser/crawl4ai-integration.md +422 -0
  217. package/.agent/tools/browser/crawl4ai-resources.md +277 -0
  218. package/.agent/tools/browser/crawl4ai-usage.md +416 -0
  219. package/.agent/tools/browser/crawl4ai.md +585 -0
  220. package/.agent/tools/browser/dev-browser.md +341 -0
  221. package/.agent/tools/browser/pagespeed.md +260 -0
  222. package/.agent/tools/browser/playwright.md +266 -0
  223. package/.agent/tools/browser/playwriter.md +310 -0
  224. package/.agent/tools/browser/stagehand-examples.md +456 -0
  225. package/.agent/tools/browser/stagehand-python.md +483 -0
  226. package/.agent/tools/browser/stagehand.md +421 -0
  227. package/.agent/tools/build-agent/agent-review.md +224 -0
  228. package/.agent/tools/build-agent/build-agent.md +784 -0
  229. package/.agent/tools/build-mcp/aidevops-plugin.md +476 -0
  230. package/.agent/tools/build-mcp/api-wrapper.md +445 -0
  231. package/.agent/tools/build-mcp/build-mcp.md +240 -0
  232. package/.agent/tools/build-mcp/deployment.md +401 -0
  233. package/.agent/tools/build-mcp/server-patterns.md +632 -0
  234. package/.agent/tools/build-mcp/transports.md +366 -0
  235. package/.agent/tools/code-review/auditing.md +383 -0
  236. package/.agent/tools/code-review/automation.md +219 -0
  237. package/.agent/tools/code-review/best-practices.md +203 -0
  238. package/.agent/tools/code-review/codacy.md +151 -0
  239. package/.agent/tools/code-review/code-simplifier.md +174 -0
  240. package/.agent/tools/code-review/code-standards.md +309 -0
  241. package/.agent/tools/code-review/coderabbit.md +101 -0
  242. package/.agent/tools/code-review/management.md +155 -0
  243. package/.agent/tools/code-review/qlty.md +248 -0
  244. package/.agent/tools/code-review/secretlint.md +565 -0
  245. package/.agent/tools/code-review/setup.md +250 -0
  246. package/.agent/tools/code-review/snyk.md +563 -0
  247. package/.agent/tools/code-review/tools.md +230 -0
  248. package/.agent/tools/content/summarize.md +353 -0
  249. package/.agent/tools/context/augment-context-engine.md +468 -0
  250. package/.agent/tools/context/context-builder-agent.md +76 -0
  251. package/.agent/tools/context/context-builder.md +375 -0
  252. package/.agent/tools/context/context7.md +371 -0
  253. package/.agent/tools/context/dspy.md +302 -0
  254. package/.agent/tools/context/dspyground.md +374 -0
  255. package/.agent/tools/context/llm-tldr.md +219 -0
  256. package/.agent/tools/context/osgrep.md +488 -0
  257. package/.agent/tools/context/prompt-optimization.md +338 -0
  258. package/.agent/tools/context/toon.md +292 -0
  259. package/.agent/tools/conversion/pandoc.md +304 -0
  260. package/.agent/tools/credentials/api-key-management.md +154 -0
  261. package/.agent/tools/credentials/api-key-setup.md +224 -0
  262. package/.agent/tools/credentials/environment-variables.md +180 -0
  263. package/.agent/tools/credentials/vaultwarden.md +382 -0
  264. package/.agent/tools/data-extraction/outscraper.md +974 -0
  265. package/.agent/tools/deployment/coolify-cli.md +388 -0
  266. package/.agent/tools/deployment/coolify-setup.md +353 -0
  267. package/.agent/tools/deployment/coolify.md +345 -0
  268. package/.agent/tools/deployment/vercel.md +390 -0
  269. package/.agent/tools/git/authentication.md +132 -0
  270. package/.agent/tools/git/gitea-cli.md +193 -0
  271. package/.agent/tools/git/github-actions.md +207 -0
  272. package/.agent/tools/git/github-cli.md +223 -0
  273. package/.agent/tools/git/gitlab-cli.md +190 -0
  274. package/.agent/tools/git/opencode-github-security.md +350 -0
  275. package/.agent/tools/git/opencode-github.md +328 -0
  276. package/.agent/tools/git/opencode-gitlab.md +252 -0
  277. package/.agent/tools/git/security.md +196 -0
  278. package/.agent/tools/git.md +207 -0
  279. package/.agent/tools/opencode/oh-my-opencode.md +375 -0
  280. package/.agent/tools/opencode/opencode-anthropic-auth.md +446 -0
  281. package/.agent/tools/opencode/opencode.md +651 -0
  282. package/.agent/tools/social-media/bird.md +437 -0
  283. package/.agent/tools/task-management/beads.md +336 -0
  284. package/.agent/tools/terminal/terminal-title.md +251 -0
  285. package/.agent/tools/ui/shadcn.md +196 -0
  286. package/.agent/tools/ui/ui-skills.md +115 -0
  287. package/.agent/tools/wordpress/localwp.md +311 -0
  288. package/.agent/tools/wordpress/mainwp.md +391 -0
  289. package/.agent/tools/wordpress/scf.md +527 -0
  290. package/.agent/tools/wordpress/wp-admin.md +729 -0
  291. package/.agent/tools/wordpress/wp-dev.md +940 -0
  292. package/.agent/tools/wordpress/wp-preferred.md +398 -0
  293. package/.agent/tools/wordpress.md +95 -0
  294. package/.agent/workflows/branch/bugfix.md +63 -0
  295. package/.agent/workflows/branch/chore.md +95 -0
  296. package/.agent/workflows/branch/experiment.md +115 -0
  297. package/.agent/workflows/branch/feature.md +59 -0
  298. package/.agent/workflows/branch/hotfix.md +98 -0
  299. package/.agent/workflows/branch/refactor.md +92 -0
  300. package/.agent/workflows/branch/release.md +96 -0
  301. package/.agent/workflows/branch.md +347 -0
  302. package/.agent/workflows/bug-fixing.md +267 -0
  303. package/.agent/workflows/changelog.md +129 -0
  304. package/.agent/workflows/code-audit-remote.md +279 -0
  305. package/.agent/workflows/conversation-starter.md +69 -0
  306. package/.agent/workflows/error-feedback.md +578 -0
  307. package/.agent/workflows/feature-development.md +355 -0
  308. package/.agent/workflows/git-workflow.md +702 -0
  309. package/.agent/workflows/multi-repo-workspace.md +268 -0
  310. package/.agent/workflows/plans.md +709 -0
  311. package/.agent/workflows/postflight.md +604 -0
  312. package/.agent/workflows/pr.md +571 -0
  313. package/.agent/workflows/preflight.md +278 -0
  314. package/.agent/workflows/ralph-loop.md +773 -0
  315. package/.agent/workflows/release.md +498 -0
  316. package/.agent/workflows/session-manager.md +254 -0
  317. package/.agent/workflows/session-review.md +311 -0
  318. package/.agent/workflows/sql-migrations.md +631 -0
  319. package/.agent/workflows/version-bump.md +283 -0
  320. package/.agent/workflows/wiki-update.md +333 -0
  321. package/.agent/workflows/worktree.md +477 -0
  322. package/LICENSE +21 -0
  323. package/README.md +1446 -0
  324. package/VERSION +1 -0
  325. package/aidevops.sh +1746 -0
  326. package/bin/aidevops +21 -0
  327. package/package.json +75 -0
  328. package/scripts/npm-postinstall.js +60 -0
  329. 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 "$@"