aidevops 2.52.1 → 2.53.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/README.md +1 -1
- package/VERSION +1 -1
- package/aidevops.sh +15 -9
- package/package.json +4 -4
- package/scripts/npm-postinstall.js +6 -7
- package/setup.sh +1 -1
- package/templates/deploy-templates.sh +144 -0
- package/templates/home/.agent/README.md +33 -0
- package/templates/home/AGENTS.md +96 -0
- package/templates/home/git/.agent/README.md +48 -0
- package/templates/home/git/AGENTS.md +97 -0
- package/templates/standard-functions.sh +179 -0
- package/templates/wordpress-performance-workflow.md +217 -0
- package/.agent/AGENTS.md +0 -614
- package/.agent/accounts.md +0 -65
- package/.agent/aidevops/add-new-mcp-to-aidevops.md +0 -456
- package/.agent/aidevops/api-integrations.md +0 -335
- package/.agent/aidevops/architecture.md +0 -510
- package/.agent/aidevops/configs.md +0 -274
- package/.agent/aidevops/docs.md +0 -244
- package/.agent/aidevops/extension.md +0 -311
- package/.agent/aidevops/mcp-integrations.md +0 -340
- package/.agent/aidevops/mcp-troubleshooting.md +0 -162
- package/.agent/aidevops/memory-patterns.md +0 -172
- package/.agent/aidevops/providers.md +0 -217
- package/.agent/aidevops/recommendations.md +0 -321
- package/.agent/aidevops/requirements.md +0 -301
- package/.agent/aidevops/resources.md +0 -214
- package/.agent/aidevops/security-requirements.md +0 -174
- package/.agent/aidevops/security.md +0 -350
- package/.agent/aidevops/service-links.md +0 -400
- package/.agent/aidevops/services.md +0 -357
- package/.agent/aidevops/setup.md +0 -153
- package/.agent/aidevops/troubleshooting.md +0 -389
- package/.agent/aidevops.md +0 -124
- package/.agent/build-plus.md +0 -244
- package/.agent/content/guidelines.md +0 -109
- package/.agent/content.md +0 -87
- package/.agent/health.md +0 -59
- package/.agent/legal.md +0 -59
- package/.agent/loop-state/full-loop.local.md +0 -16
- package/.agent/loop-state/ralph-loop.local.md +0 -10
- package/.agent/marketing.md +0 -440
- package/.agent/memory/README.md +0 -260
- package/.agent/onboarding.md +0 -796
- package/.agent/plan-plus.md +0 -245
- package/.agent/research.md +0 -100
- package/.agent/sales.md +0 -333
- package/.agent/scripts/101domains-helper.sh +0 -701
- package/.agent/scripts/add-missing-returns.sh +0 -140
- package/.agent/scripts/agent-browser-helper.sh +0 -311
- package/.agent/scripts/agno-setup.sh +0 -712
- package/.agent/scripts/ahrefs-mcp-wrapper.js +0 -168
- package/.agent/scripts/aidevops-update-check.sh +0 -71
- package/.agent/scripts/ampcode-cli.sh +0 -522
- package/.agent/scripts/auto-version-bump.sh +0 -156
- package/.agent/scripts/autogen-helper.sh +0 -512
- package/.agent/scripts/beads-sync-helper.sh +0 -596
- package/.agent/scripts/closte-helper.sh +0 -5
- package/.agent/scripts/cloudron-helper.sh +0 -321
- package/.agent/scripts/codacy-cli-chunked.sh +0 -581
- package/.agent/scripts/codacy-cli.sh +0 -442
- package/.agent/scripts/code-audit-helper.sh +0 -5
- package/.agent/scripts/coderabbit-cli.sh +0 -417
- package/.agent/scripts/coderabbit-pro-analysis.sh +0 -238
- package/.agent/scripts/commands/code-simplifier.md +0 -86
- package/.agent/scripts/commands/full-loop.md +0 -246
- package/.agent/scripts/commands/postflight-loop.md +0 -103
- package/.agent/scripts/commands/recall.md +0 -182
- package/.agent/scripts/commands/remember.md +0 -132
- package/.agent/scripts/commands/save-todo.md +0 -175
- package/.agent/scripts/commands/session-review.md +0 -154
- package/.agent/scripts/comprehensive-quality-fix.sh +0 -106
- package/.agent/scripts/context-builder-helper.sh +0 -522
- package/.agent/scripts/coolify-cli-helper.sh +0 -674
- package/.agent/scripts/coolify-helper.sh +0 -380
- package/.agent/scripts/crawl4ai-examples.sh +0 -401
- package/.agent/scripts/crawl4ai-helper.sh +0 -1078
- package/.agent/scripts/crewai-helper.sh +0 -681
- package/.agent/scripts/dev-browser-helper.sh +0 -513
- package/.agent/scripts/dns-helper.sh +0 -396
- package/.agent/scripts/domain-research-helper.sh +0 -917
- package/.agent/scripts/dspy-helper.sh +0 -285
- package/.agent/scripts/dspyground-helper.sh +0 -291
- package/.agent/scripts/eeat-score-helper.sh +0 -1242
- package/.agent/scripts/efficient-return-fix.sh +0 -92
- package/.agent/scripts/extract-opencode-prompts.sh +0 -128
- package/.agent/scripts/find-missing-returns.sh +0 -113
- package/.agent/scripts/fix-auth-headers.sh +0 -104
- package/.agent/scripts/fix-common-strings.sh +0 -254
- package/.agent/scripts/fix-content-type.sh +0 -100
- package/.agent/scripts/fix-error-messages.sh +0 -130
- package/.agent/scripts/fix-misplaced-returns.sh +0 -74
- package/.agent/scripts/fix-remaining-literals.sh +0 -152
- package/.agent/scripts/fix-return-statements.sh +0 -41
- package/.agent/scripts/fix-s131-default-cases.sh +0 -249
- package/.agent/scripts/fix-sc2155-simple.sh +0 -102
- package/.agent/scripts/fix-shellcheck-critical.sh +0 -187
- package/.agent/scripts/fix-string-literals.sh +0 -273
- package/.agent/scripts/full-loop-helper.sh +0 -773
- package/.agent/scripts/generate-opencode-agents.sh +0 -497
- package/.agent/scripts/generate-opencode-commands.sh +0 -1629
- package/.agent/scripts/generate-skills.sh +0 -366
- package/.agent/scripts/git-platforms-helper.sh +0 -640
- package/.agent/scripts/gitea-cli-helper.sh +0 -743
- package/.agent/scripts/github-cli-helper.sh +0 -702
- package/.agent/scripts/gitlab-cli-helper.sh +0 -682
- package/.agent/scripts/gsc-add-user-helper.sh +0 -325
- package/.agent/scripts/gsc-sitemap-helper.sh +0 -678
- package/.agent/scripts/hetzner-helper.sh +0 -485
- package/.agent/scripts/hostinger-helper.sh +0 -229
- package/.agent/scripts/keyword-research-helper.sh +0 -1815
- package/.agent/scripts/langflow-helper.sh +0 -544
- package/.agent/scripts/linkedin-automation.py +0 -241
- package/.agent/scripts/linter-manager.sh +0 -599
- package/.agent/scripts/linters-local.sh +0 -434
- package/.agent/scripts/list-keys-helper.sh +0 -488
- package/.agent/scripts/local-browser-automation.py +0 -339
- package/.agent/scripts/localhost-helper.sh +0 -744
- package/.agent/scripts/loop-common.sh +0 -806
- package/.agent/scripts/mainwp-helper.sh +0 -728
- package/.agent/scripts/markdown-formatter.sh +0 -338
- package/.agent/scripts/markdown-lint-fix.sh +0 -311
- package/.agent/scripts/mass-fix-returns.sh +0 -58
- package/.agent/scripts/mcp-diagnose.sh +0 -167
- package/.agent/scripts/mcp-inspector-helper.sh +0 -449
- package/.agent/scripts/memory-helper.sh +0 -650
- package/.agent/scripts/monitor-code-review.sh +0 -255
- package/.agent/scripts/onboarding-helper.sh +0 -706
- package/.agent/scripts/opencode-github-setup-helper.sh +0 -797
- package/.agent/scripts/opencode-test-helper.sh +0 -213
- package/.agent/scripts/pagespeed-helper.sh +0 -464
- package/.agent/scripts/pandoc-helper.sh +0 -362
- package/.agent/scripts/postflight-check.sh +0 -555
- package/.agent/scripts/pre-commit-hook.sh +0 -259
- package/.agent/scripts/pre-edit-check.sh +0 -169
- package/.agent/scripts/qlty-cli.sh +0 -356
- package/.agent/scripts/quality-cli-manager.sh +0 -525
- package/.agent/scripts/quality-feedback-helper.sh +0 -462
- package/.agent/scripts/quality-fix.sh +0 -263
- package/.agent/scripts/quality-loop-helper.sh +0 -1108
- package/.agent/scripts/ralph-loop-helper.sh +0 -836
- package/.agent/scripts/ralph-upstream-check.sh +0 -341
- package/.agent/scripts/secretlint-helper.sh +0 -847
- package/.agent/scripts/servers-helper.sh +0 -241
- package/.agent/scripts/ses-helper.sh +0 -619
- package/.agent/scripts/session-review-helper.sh +0 -404
- package/.agent/scripts/setup-linters-wizard.sh +0 -379
- package/.agent/scripts/setup-local-api-keys.sh +0 -330
- package/.agent/scripts/setup-mcp-integrations.sh +0 -472
- package/.agent/scripts/shared-constants.sh +0 -246
- package/.agent/scripts/site-crawler-helper.sh +0 -1487
- package/.agent/scripts/snyk-helper.sh +0 -940
- package/.agent/scripts/sonarcloud-autofix.sh +0 -193
- package/.agent/scripts/sonarcloud-cli.sh +0 -191
- package/.agent/scripts/sonarscanner-cli.sh +0 -455
- package/.agent/scripts/spaceship-helper.sh +0 -747
- package/.agent/scripts/stagehand-helper.sh +0 -321
- package/.agent/scripts/stagehand-python-helper.sh +0 -321
- package/.agent/scripts/stagehand-python-setup.sh +0 -441
- package/.agent/scripts/stagehand-setup.sh +0 -439
- package/.agent/scripts/system-cleanup.sh +0 -340
- package/.agent/scripts/terminal-title-helper.sh +0 -388
- package/.agent/scripts/terminal-title-setup.sh +0 -549
- package/.agent/scripts/test-stagehand-both-integration.sh +0 -317
- package/.agent/scripts/test-stagehand-integration.sh +0 -309
- package/.agent/scripts/test-stagehand-python-integration.sh +0 -341
- package/.agent/scripts/todo-ready.sh +0 -263
- package/.agent/scripts/tool-version-check.sh +0 -362
- package/.agent/scripts/toon-helper.sh +0 -469
- package/.agent/scripts/twilio-helper.sh +0 -917
- package/.agent/scripts/updown-helper.sh +0 -279
- package/.agent/scripts/validate-mcp-integrations.sh +0 -250
- package/.agent/scripts/validate-version-consistency.sh +0 -131
- package/.agent/scripts/vaultwarden-helper.sh +0 -597
- package/.agent/scripts/vercel-cli-helper.sh +0 -816
- package/.agent/scripts/verify-mirrors.sh +0 -169
- package/.agent/scripts/version-manager.sh +0 -831
- package/.agent/scripts/webhosting-helper.sh +0 -471
- package/.agent/scripts/webhosting-verify.sh +0 -238
- package/.agent/scripts/wordpress-mcp-helper.sh +0 -508
- package/.agent/scripts/worktree-helper.sh +0 -595
- package/.agent/scripts/worktree-sessions.sh +0 -577
- package/.agent/seo/dataforseo.md +0 -215
- package/.agent/seo/domain-research.md +0 -532
- package/.agent/seo/eeat-score.md +0 -659
- package/.agent/seo/google-search-console.md +0 -366
- package/.agent/seo/gsc-sitemaps.md +0 -282
- package/.agent/seo/keyword-research.md +0 -521
- package/.agent/seo/serper.md +0 -278
- package/.agent/seo/site-crawler.md +0 -387
- package/.agent/seo.md +0 -236
- package/.agent/services/accounting/quickfile.md +0 -159
- package/.agent/services/communications/telfon.md +0 -470
- package/.agent/services/communications/twilio.md +0 -569
- package/.agent/services/crm/fluentcrm.md +0 -449
- package/.agent/services/email/ses.md +0 -399
- package/.agent/services/hosting/101domains.md +0 -378
- package/.agent/services/hosting/closte.md +0 -177
- package/.agent/services/hosting/cloudflare.md +0 -251
- package/.agent/services/hosting/cloudron.md +0 -478
- package/.agent/services/hosting/dns-providers.md +0 -335
- package/.agent/services/hosting/domain-purchasing.md +0 -344
- package/.agent/services/hosting/hetzner.md +0 -327
- package/.agent/services/hosting/hostinger.md +0 -287
- package/.agent/services/hosting/localhost.md +0 -419
- package/.agent/services/hosting/spaceship.md +0 -353
- package/.agent/services/hosting/webhosting.md +0 -330
- package/.agent/social-media.md +0 -69
- package/.agent/templates/plans-template.md +0 -114
- package/.agent/templates/prd-template.md +0 -129
- package/.agent/templates/tasks-template.md +0 -108
- package/.agent/templates/todo-template.md +0 -89
- package/.agent/tools/ai-assistants/agno.md +0 -471
- package/.agent/tools/ai-assistants/capsolver.md +0 -326
- package/.agent/tools/ai-assistants/configuration.md +0 -221
- package/.agent/tools/ai-assistants/overview.md +0 -209
- package/.agent/tools/ai-assistants/status.md +0 -171
- package/.agent/tools/ai-assistants/windsurf.md +0 -193
- package/.agent/tools/ai-orchestration/autogen.md +0 -406
- package/.agent/tools/ai-orchestration/crewai.md +0 -445
- package/.agent/tools/ai-orchestration/langflow.md +0 -405
- package/.agent/tools/ai-orchestration/openprose.md +0 -487
- package/.agent/tools/ai-orchestration/overview.md +0 -362
- package/.agent/tools/ai-orchestration/packaging.md +0 -647
- package/.agent/tools/browser/agent-browser.md +0 -464
- package/.agent/tools/browser/browser-automation.md +0 -400
- package/.agent/tools/browser/chrome-devtools.md +0 -282
- package/.agent/tools/browser/crawl4ai-integration.md +0 -422
- package/.agent/tools/browser/crawl4ai-resources.md +0 -277
- package/.agent/tools/browser/crawl4ai-usage.md +0 -416
- package/.agent/tools/browser/crawl4ai.md +0 -585
- package/.agent/tools/browser/dev-browser.md +0 -341
- package/.agent/tools/browser/pagespeed.md +0 -260
- package/.agent/tools/browser/playwright.md +0 -266
- package/.agent/tools/browser/playwriter.md +0 -310
- package/.agent/tools/browser/stagehand-examples.md +0 -456
- package/.agent/tools/browser/stagehand-python.md +0 -483
- package/.agent/tools/browser/stagehand.md +0 -421
- package/.agent/tools/build-agent/agent-review.md +0 -224
- package/.agent/tools/build-agent/build-agent.md +0 -784
- package/.agent/tools/build-mcp/aidevops-plugin.md +0 -476
- package/.agent/tools/build-mcp/api-wrapper.md +0 -445
- package/.agent/tools/build-mcp/build-mcp.md +0 -240
- package/.agent/tools/build-mcp/deployment.md +0 -401
- package/.agent/tools/build-mcp/server-patterns.md +0 -632
- package/.agent/tools/build-mcp/transports.md +0 -366
- package/.agent/tools/code-review/auditing.md +0 -383
- package/.agent/tools/code-review/automation.md +0 -219
- package/.agent/tools/code-review/best-practices.md +0 -203
- package/.agent/tools/code-review/codacy.md +0 -151
- package/.agent/tools/code-review/code-simplifier.md +0 -174
- package/.agent/tools/code-review/code-standards.md +0 -309
- package/.agent/tools/code-review/coderabbit.md +0 -101
- package/.agent/tools/code-review/management.md +0 -155
- package/.agent/tools/code-review/qlty.md +0 -248
- package/.agent/tools/code-review/secretlint.md +0 -565
- package/.agent/tools/code-review/setup.md +0 -250
- package/.agent/tools/code-review/snyk.md +0 -563
- package/.agent/tools/code-review/tools.md +0 -230
- package/.agent/tools/content/summarize.md +0 -353
- package/.agent/tools/context/augment-context-engine.md +0 -468
- package/.agent/tools/context/context-builder-agent.md +0 -76
- package/.agent/tools/context/context-builder.md +0 -375
- package/.agent/tools/context/context7.md +0 -371
- package/.agent/tools/context/dspy.md +0 -302
- package/.agent/tools/context/dspyground.md +0 -374
- package/.agent/tools/context/llm-tldr.md +0 -219
- package/.agent/tools/context/osgrep.md +0 -488
- package/.agent/tools/context/prompt-optimization.md +0 -338
- package/.agent/tools/context/toon.md +0 -292
- package/.agent/tools/conversion/pandoc.md +0 -304
- package/.agent/tools/credentials/api-key-management.md +0 -154
- package/.agent/tools/credentials/api-key-setup.md +0 -224
- package/.agent/tools/credentials/environment-variables.md +0 -180
- package/.agent/tools/credentials/vaultwarden.md +0 -382
- package/.agent/tools/data-extraction/outscraper.md +0 -974
- package/.agent/tools/deployment/coolify-cli.md +0 -388
- package/.agent/tools/deployment/coolify-setup.md +0 -353
- package/.agent/tools/deployment/coolify.md +0 -345
- package/.agent/tools/deployment/vercel.md +0 -390
- package/.agent/tools/git/authentication.md +0 -132
- package/.agent/tools/git/gitea-cli.md +0 -193
- package/.agent/tools/git/github-actions.md +0 -207
- package/.agent/tools/git/github-cli.md +0 -223
- package/.agent/tools/git/gitlab-cli.md +0 -190
- package/.agent/tools/git/opencode-github-security.md +0 -350
- package/.agent/tools/git/opencode-github.md +0 -328
- package/.agent/tools/git/opencode-gitlab.md +0 -252
- package/.agent/tools/git/security.md +0 -196
- package/.agent/tools/git.md +0 -207
- package/.agent/tools/opencode/oh-my-opencode.md +0 -375
- package/.agent/tools/opencode/opencode-anthropic-auth.md +0 -446
- package/.agent/tools/opencode/opencode.md +0 -651
- package/.agent/tools/social-media/bird.md +0 -437
- package/.agent/tools/task-management/beads.md +0 -336
- package/.agent/tools/terminal/terminal-title.md +0 -251
- package/.agent/tools/ui/shadcn.md +0 -196
- package/.agent/tools/ui/ui-skills.md +0 -115
- package/.agent/tools/wordpress/localwp.md +0 -311
- package/.agent/tools/wordpress/mainwp.md +0 -391
- package/.agent/tools/wordpress/scf.md +0 -527
- package/.agent/tools/wordpress/wp-admin.md +0 -729
- package/.agent/tools/wordpress/wp-dev.md +0 -940
- package/.agent/tools/wordpress/wp-preferred.md +0 -398
- package/.agent/tools/wordpress.md +0 -95
- package/.agent/workflows/branch/bugfix.md +0 -63
- package/.agent/workflows/branch/chore.md +0 -95
- package/.agent/workflows/branch/experiment.md +0 -115
- package/.agent/workflows/branch/feature.md +0 -59
- package/.agent/workflows/branch/hotfix.md +0 -98
- package/.agent/workflows/branch/refactor.md +0 -92
- package/.agent/workflows/branch/release.md +0 -96
- package/.agent/workflows/branch.md +0 -347
- package/.agent/workflows/bug-fixing.md +0 -267
- package/.agent/workflows/changelog.md +0 -129
- package/.agent/workflows/code-audit-remote.md +0 -279
- package/.agent/workflows/conversation-starter.md +0 -69
- package/.agent/workflows/error-feedback.md +0 -578
- package/.agent/workflows/feature-development.md +0 -355
- package/.agent/workflows/git-workflow.md +0 -702
- package/.agent/workflows/multi-repo-workspace.md +0 -268
- package/.agent/workflows/plans.md +0 -709
- package/.agent/workflows/postflight.md +0 -604
- package/.agent/workflows/pr.md +0 -571
- package/.agent/workflows/preflight.md +0 -278
- package/.agent/workflows/ralph-loop.md +0 -773
- package/.agent/workflows/release.md +0 -498
- package/.agent/workflows/session-manager.md +0 -254
- package/.agent/workflows/session-review.md +0 -311
- package/.agent/workflows/sql-migrations.md +0 -631
- package/.agent/workflows/version-bump.md +0 -283
- package/.agent/workflows/wiki-update.md +0 -333
- package/.agent/workflows/worktree.md +0 -477
|
@@ -1,321 +0,0 @@
|
|
|
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
|
-
# Stagehand Helper - AI Browser Automation Framework Integration
|
|
5
|
-
# Part of AI DevOps Framework
|
|
6
|
-
# Provides local setup and usage of Stagehand for browser automation
|
|
7
|
-
|
|
8
|
-
# Source shared constants and functions
|
|
9
|
-
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
10
|
-
source "${SCRIPT_DIR}/shared-constants.sh"
|
|
11
|
-
|
|
12
|
-
# Colors for output
|
|
13
|
-
readonly BLUE='\033[0;34m'
|
|
14
|
-
readonly GREEN='\033[0;32m'
|
|
15
|
-
readonly YELLOW='\033[1;33m'
|
|
16
|
-
readonly RED='\033[0;31m'
|
|
17
|
-
readonly NC='\033[0m'
|
|
18
|
-
|
|
19
|
-
# Print functions
|
|
20
|
-
print_info() {
|
|
21
|
-
local msg="$1"
|
|
22
|
-
echo -e "${BLUE}[INFO]${NC} $msg"
|
|
23
|
-
return 0
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
print_success() {
|
|
27
|
-
local msg="$1"
|
|
28
|
-
echo -e "${GREEN}[SUCCESS]${NC} $msg"
|
|
29
|
-
return 0
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
print_warning() {
|
|
33
|
-
local msg="$1"
|
|
34
|
-
echo -e "${YELLOW}[WARNING]${NC} $msg"
|
|
35
|
-
return 0
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
print_error() {
|
|
39
|
-
local msg="$1"
|
|
40
|
-
echo -e "${RED}[ERROR]${NC} $msg" >&2
|
|
41
|
-
return 0
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
# Stagehand-specific constants
|
|
45
|
-
readonly STAGEHAND_CONFIG_DIR="${HOME}/.aidevops/stagehand"
|
|
46
|
-
readonly STAGEHAND_EXAMPLES_DIR="${STAGEHAND_CONFIG_DIR}/examples"
|
|
47
|
-
readonly STAGEHAND_LOGS_DIR="${STAGEHAND_CONFIG_DIR}/logs"
|
|
48
|
-
readonly STAGEHAND_CACHE_DIR="${STAGEHAND_CONFIG_DIR}/cache"
|
|
49
|
-
|
|
50
|
-
# Create necessary directories
|
|
51
|
-
create_stagehand_directories() {
|
|
52
|
-
local directories=(
|
|
53
|
-
"$STAGEHAND_CONFIG_DIR"
|
|
54
|
-
"$STAGEHAND_EXAMPLES_DIR"
|
|
55
|
-
"$STAGEHAND_LOGS_DIR"
|
|
56
|
-
"$STAGEHAND_CACHE_DIR"
|
|
57
|
-
)
|
|
58
|
-
|
|
59
|
-
for dir in "${directories[@]}"; do
|
|
60
|
-
mkdir -p "$dir"
|
|
61
|
-
done
|
|
62
|
-
|
|
63
|
-
print_success "Created Stagehand directories"
|
|
64
|
-
return 0
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
# Install Stagehand and dependencies
|
|
68
|
-
install_stagehand() {
|
|
69
|
-
print_info "Installing Stagehand AI Browser Automation Framework..."
|
|
70
|
-
|
|
71
|
-
# Check for Bun (preferred) or Node.js
|
|
72
|
-
local use_bun=false
|
|
73
|
-
if command -v bun &> /dev/null; then
|
|
74
|
-
use_bun=true
|
|
75
|
-
print_success "Using Bun $(bun --version)"
|
|
76
|
-
elif command -v node &> /dev/null; then
|
|
77
|
-
if ! command -v npm &> /dev/null; then
|
|
78
|
-
print_error "npm is required but not installed. Please install npm or Bun."
|
|
79
|
-
return 1
|
|
80
|
-
fi
|
|
81
|
-
print_info "Using Node.js (install Bun for faster setup: curl -fsSL https://bun.sh/install | bash)"
|
|
82
|
-
else
|
|
83
|
-
print_error "Bun or Node.js is required. Install Bun: curl -fsSL https://bun.sh/install | bash"
|
|
84
|
-
return 1
|
|
85
|
-
fi
|
|
86
|
-
|
|
87
|
-
# Create project directory
|
|
88
|
-
create_stagehand_directories
|
|
89
|
-
|
|
90
|
-
# Initialize project if needed
|
|
91
|
-
if [[ ! -f "${STAGEHAND_CONFIG_DIR}/package.json" ]]; then
|
|
92
|
-
print_info "Initializing project..."
|
|
93
|
-
cd "$STAGEHAND_CONFIG_DIR" || return 1
|
|
94
|
-
if [[ "$use_bun" == "true" ]]; then
|
|
95
|
-
bun init -y > /dev/null 2>&1
|
|
96
|
-
else
|
|
97
|
-
npm init -y > /dev/null 2>&1
|
|
98
|
-
fi
|
|
99
|
-
fi
|
|
100
|
-
|
|
101
|
-
# Install Stagehand
|
|
102
|
-
print_info "Installing @browserbasehq/stagehand..."
|
|
103
|
-
cd "$STAGEHAND_CONFIG_DIR" || return 1
|
|
104
|
-
if [[ "$use_bun" == "true" ]]; then
|
|
105
|
-
bun add @browserbasehq/stagehand
|
|
106
|
-
else
|
|
107
|
-
# NOSONAR - npm scripts required for Playwright browser automation binaries
|
|
108
|
-
npm install @browserbasehq/stagehand
|
|
109
|
-
fi
|
|
110
|
-
|
|
111
|
-
# Install additional dependencies for better functionality
|
|
112
|
-
print_info "Installing additional dependencies..."
|
|
113
|
-
if [[ "$use_bun" == "true" ]]; then
|
|
114
|
-
bun add zod dotenv
|
|
115
|
-
else
|
|
116
|
-
# NOSONAR - npm scripts required for dependency compilation
|
|
117
|
-
npm install zod dotenv
|
|
118
|
-
fi
|
|
119
|
-
|
|
120
|
-
print_success "Stagehand installation completed"
|
|
121
|
-
return 0
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
# Create example Stagehand script
|
|
125
|
-
create_example_script() {
|
|
126
|
-
local example_file="${STAGEHAND_EXAMPLES_DIR}/basic-example.js"
|
|
127
|
-
|
|
128
|
-
cat > "$example_file" << 'EOF'
|
|
129
|
-
// Basic Stagehand Example
|
|
130
|
-
// AI-powered browser automation with natural language
|
|
131
|
-
|
|
132
|
-
import { Stagehand } from "@browserbasehq/stagehand";
|
|
133
|
-
import { z } from "zod";
|
|
134
|
-
|
|
135
|
-
async function main() {
|
|
136
|
-
// Initialize Stagehand
|
|
137
|
-
const stagehand = new Stagehand({
|
|
138
|
-
env: "LOCAL", // Use local browser
|
|
139
|
-
verbose: 1,
|
|
140
|
-
debugDom: true
|
|
141
|
-
});
|
|
142
|
-
|
|
143
|
-
try {
|
|
144
|
-
// Initialize browser context
|
|
145
|
-
await stagehand.init();
|
|
146
|
-
|
|
147
|
-
// Navigate to a website
|
|
148
|
-
await stagehand.page.goto("https://example.com");
|
|
149
|
-
|
|
150
|
-
// Use natural language to interact with the page
|
|
151
|
-
await stagehand.act("click on the 'More information...' link");
|
|
152
|
-
|
|
153
|
-
// Extract structured data from the page
|
|
154
|
-
const pageInfo = await stagehand.extract(
|
|
155
|
-
"extract the page title and main heading",
|
|
156
|
-
z.object({
|
|
157
|
-
title: z.string().describe("The page title"),
|
|
158
|
-
heading: z.string().describe("The main heading text")
|
|
159
|
-
})
|
|
160
|
-
);
|
|
161
|
-
|
|
162
|
-
console.log("Extracted data:", pageInfo);
|
|
163
|
-
|
|
164
|
-
// Use observe to discover available actions
|
|
165
|
-
const actions = await stagehand.observe("find all clickable buttons");
|
|
166
|
-
console.log("Available actions:", actions);
|
|
167
|
-
|
|
168
|
-
} catch (error) {
|
|
169
|
-
console.error("Error during automation:", error);
|
|
170
|
-
} finally {
|
|
171
|
-
// Clean up
|
|
172
|
-
await stagehand.close();
|
|
173
|
-
}
|
|
174
|
-
return 0
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
// Run the example
|
|
178
|
-
main().catch(console.error);
|
|
179
|
-
EOF
|
|
180
|
-
|
|
181
|
-
print_success "Created basic example script at: $example_file"
|
|
182
|
-
return 0
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
# Create environment configuration
|
|
186
|
-
create_env_config() {
|
|
187
|
-
local env_file="${STAGEHAND_CONFIG_DIR}/.env"
|
|
188
|
-
|
|
189
|
-
if [[ -f "$env_file" ]]; then
|
|
190
|
-
print_info "Environment file already exists: $env_file"
|
|
191
|
-
return 0
|
|
192
|
-
fi
|
|
193
|
-
|
|
194
|
-
cat > "$env_file" << 'EOF'
|
|
195
|
-
# Stagehand Configuration
|
|
196
|
-
# Copy this file and customize for your needs
|
|
197
|
-
|
|
198
|
-
# OpenAI API Key (for AI-powered actions)
|
|
199
|
-
OPENAI_API_KEY=your_openai_api_key_here
|
|
200
|
-
|
|
201
|
-
# Anthropic API Key (alternative AI provider)
|
|
202
|
-
ANTHROPIC_API_KEY=your_anthropic_api_key_here
|
|
203
|
-
|
|
204
|
-
# Browserbase credentials (optional, for cloud browsers)
|
|
205
|
-
BROWSERBASE_API_KEY=your_browserbase_api_key_here
|
|
206
|
-
BROWSERBASE_PROJECT_ID=your_browserbase_project_id_here
|
|
207
|
-
|
|
208
|
-
# Browser configuration
|
|
209
|
-
STAGEHAND_ENV=LOCAL
|
|
210
|
-
STAGEHAND_HEADLESS=false
|
|
211
|
-
STAGEHAND_VERBOSE=1
|
|
212
|
-
STAGEHAND_DEBUG_DOM=true
|
|
213
|
-
|
|
214
|
-
# Logging
|
|
215
|
-
STAGEHAND_LOG_LEVEL=info
|
|
216
|
-
STAGEHAND_LOG_FILE=stagehand.log
|
|
217
|
-
EOF
|
|
218
|
-
|
|
219
|
-
print_success "Created environment configuration at: $env_file"
|
|
220
|
-
print_info "Please edit $env_file to add your API keys"
|
|
221
|
-
return 0
|
|
222
|
-
}
|
|
223
|
-
|
|
224
|
-
# Show help information
|
|
225
|
-
show_help() {
|
|
226
|
-
cat << EOF
|
|
227
|
-
Stagehand Helper - AI Browser Automation Framework Integration
|
|
228
|
-
|
|
229
|
-
USAGE:
|
|
230
|
-
$0 [COMMAND] [OPTIONS]
|
|
231
|
-
|
|
232
|
-
COMMANDS:
|
|
233
|
-
help Show this help message
|
|
234
|
-
install Install Stagehand and dependencies
|
|
235
|
-
setup Complete setup (install + configure)
|
|
236
|
-
create-example Create basic example script
|
|
237
|
-
run-example Run the basic example script
|
|
238
|
-
status Check Stagehand installation status
|
|
239
|
-
logs Show recent Stagehand logs
|
|
240
|
-
clean Clean cache and temporary files
|
|
241
|
-
|
|
242
|
-
EXAMPLES:
|
|
243
|
-
$0 install # Install Stagehand
|
|
244
|
-
$0 setup # Complete setup
|
|
245
|
-
$0 run-example # Run basic example
|
|
246
|
-
$0 status # Check installation
|
|
247
|
-
|
|
248
|
-
DOCUMENTATION:
|
|
249
|
-
For detailed documentation, see: .agent/STAGEHAND.md
|
|
250
|
-
Official docs: https://docs.stagehand.dev
|
|
251
|
-
GitHub: https://github.com/browserbase/stagehand
|
|
252
|
-
|
|
253
|
-
EOF
|
|
254
|
-
return 0
|
|
255
|
-
}
|
|
256
|
-
|
|
257
|
-
# Main function
|
|
258
|
-
main() {
|
|
259
|
-
local command="${1:-help}"
|
|
260
|
-
|
|
261
|
-
case "$command" in
|
|
262
|
-
"help")
|
|
263
|
-
show_help
|
|
264
|
-
;;
|
|
265
|
-
"install")
|
|
266
|
-
install_stagehand
|
|
267
|
-
;;
|
|
268
|
-
"setup")
|
|
269
|
-
install_stagehand && create_env_config && create_example_script
|
|
270
|
-
;;
|
|
271
|
-
"create-example")
|
|
272
|
-
create_stagehand_directories && create_example_script
|
|
273
|
-
;;
|
|
274
|
-
"run-example")
|
|
275
|
-
if [[ -f "${STAGEHAND_EXAMPLES_DIR}/basic-example.js" ]]; then
|
|
276
|
-
cd "$STAGEHAND_CONFIG_DIR" || return 1
|
|
277
|
-
node "${STAGEHAND_EXAMPLES_DIR}/basic-example.js"
|
|
278
|
-
else
|
|
279
|
-
print_error "Example script not found. Run '$0 create-example' first."
|
|
280
|
-
return 1
|
|
281
|
-
fi
|
|
282
|
-
;;
|
|
283
|
-
"status")
|
|
284
|
-
if [[ -d "$STAGEHAND_CONFIG_DIR" ]] && [[ -f "${STAGEHAND_CONFIG_DIR}/package.json" ]]; then
|
|
285
|
-
print_success "Stagehand is installed at: $STAGEHAND_CONFIG_DIR"
|
|
286
|
-
if command -v node &> /dev/null; then
|
|
287
|
-
print_info "Node.js version: $(node --version)"
|
|
288
|
-
fi
|
|
289
|
-
if command -v npm &> /dev/null; then
|
|
290
|
-
print_info "npm version: $(npm --version)"
|
|
291
|
-
fi
|
|
292
|
-
else
|
|
293
|
-
print_error "Stagehand is not installed. Run '$0 install' first."
|
|
294
|
-
return 1
|
|
295
|
-
fi
|
|
296
|
-
;;
|
|
297
|
-
"logs")
|
|
298
|
-
if [[ -f "${STAGEHAND_LOGS_DIR}/stagehand.log" ]]; then
|
|
299
|
-
tail -n 50 "${STAGEHAND_LOGS_DIR}/stagehand.log"
|
|
300
|
-
else
|
|
301
|
-
print_info "No log files found"
|
|
302
|
-
fi
|
|
303
|
-
;;
|
|
304
|
-
"clean")
|
|
305
|
-
print_info "Cleaning Stagehand cache and temporary files..."
|
|
306
|
-
rm -rf "${STAGEHAND_CACHE_DIR:?}"/*
|
|
307
|
-
rm -rf "${STAGEHAND_LOGS_DIR:?}"/*
|
|
308
|
-
print_success "Cleanup completed"
|
|
309
|
-
;;
|
|
310
|
-
*)
|
|
311
|
-
print_error "$ERROR_UNKNOWN_COMMAND $command"
|
|
312
|
-
show_help
|
|
313
|
-
return 1
|
|
314
|
-
;;
|
|
315
|
-
esac
|
|
316
|
-
|
|
317
|
-
return 0
|
|
318
|
-
}
|
|
319
|
-
|
|
320
|
-
# Execute main function with all arguments
|
|
321
|
-
main "$@"
|
|
@@ -1,321 +0,0 @@
|
|
|
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
|
-
# Stagehand Python Helper - AI Browser Automation Framework Integration
|
|
5
|
-
# Part of AI DevOps Framework
|
|
6
|
-
# Provides local setup and usage of Stagehand Python for browser automation
|
|
7
|
-
|
|
8
|
-
# Source shared constants and functions
|
|
9
|
-
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
10
|
-
source "${SCRIPT_DIR}/shared-constants.sh"
|
|
11
|
-
|
|
12
|
-
# Colors for output
|
|
13
|
-
readonly BLUE='\033[0;34m'
|
|
14
|
-
readonly GREEN='\033[0;32m'
|
|
15
|
-
readonly YELLOW='\033[1;33m'
|
|
16
|
-
readonly RED='\033[0;31m'
|
|
17
|
-
readonly NC='\033[0m'
|
|
18
|
-
|
|
19
|
-
# Print functions
|
|
20
|
-
print_info() {
|
|
21
|
-
local msg="$1"
|
|
22
|
-
echo -e "${BLUE}[INFO]${NC} $msg"
|
|
23
|
-
return 0
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
print_success() {
|
|
27
|
-
local msg="$1"
|
|
28
|
-
echo -e "${GREEN}[SUCCESS]${NC} $msg"
|
|
29
|
-
return 0
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
print_warning() {
|
|
33
|
-
local msg="$1"
|
|
34
|
-
echo -e "${YELLOW}[WARNING]${NC} $msg"
|
|
35
|
-
return 0
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
print_error() {
|
|
39
|
-
local msg="$1"
|
|
40
|
-
echo -e "${RED}[ERROR]${NC} $msg" >&2
|
|
41
|
-
return 0
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
# Stagehand Python-specific constants
|
|
45
|
-
readonly STAGEHAND_PYTHON_CONFIG_DIR="${HOME}/.aidevops/stagehand-python"
|
|
46
|
-
readonly STAGEHAND_PYTHON_EXAMPLES_DIR="${STAGEHAND_PYTHON_CONFIG_DIR}/examples"
|
|
47
|
-
readonly STAGEHAND_PYTHON_LOGS_DIR="${STAGEHAND_PYTHON_CONFIG_DIR}/logs"
|
|
48
|
-
readonly STAGEHAND_PYTHON_CACHE_DIR="${STAGEHAND_PYTHON_CONFIG_DIR}/cache"
|
|
49
|
-
readonly STAGEHAND_PYTHON_VENV_DIR="${STAGEHAND_PYTHON_CONFIG_DIR}/.venv"
|
|
50
|
-
|
|
51
|
-
# Create necessary directories
|
|
52
|
-
create_stagehand_python_directories() {
|
|
53
|
-
local directories=(
|
|
54
|
-
"$STAGEHAND_PYTHON_CONFIG_DIR"
|
|
55
|
-
"$STAGEHAND_PYTHON_EXAMPLES_DIR"
|
|
56
|
-
"$STAGEHAND_PYTHON_LOGS_DIR"
|
|
57
|
-
"$STAGEHAND_PYTHON_CACHE_DIR"
|
|
58
|
-
)
|
|
59
|
-
|
|
60
|
-
for dir in "${directories[@]}"; do
|
|
61
|
-
mkdir -p "$dir"
|
|
62
|
-
done
|
|
63
|
-
|
|
64
|
-
print_success "Created Stagehand Python directories"
|
|
65
|
-
return 0
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
# Check Python installation and version
|
|
69
|
-
check_python_requirements() {
|
|
70
|
-
print_info "Checking Python requirements..."
|
|
71
|
-
|
|
72
|
-
# Check for Python 3.8+
|
|
73
|
-
if command -v python3 &> /dev/null; then
|
|
74
|
-
local python_version
|
|
75
|
-
python_version=$(python3 --version | cut -d' ' -f2)
|
|
76
|
-
print_success "Python 3 found: $python_version"
|
|
77
|
-
|
|
78
|
-
# Check if version is 3.8+
|
|
79
|
-
local major minor
|
|
80
|
-
major=$(echo "$python_version" | cut -d'.' -f1)
|
|
81
|
-
minor=$(echo "$python_version" | cut -d'.' -f2)
|
|
82
|
-
|
|
83
|
-
if [[ "$major" -ge 3 ]] && [[ "$minor" -ge 8 ]]; then
|
|
84
|
-
print_success "Python version is compatible (3.8+)"
|
|
85
|
-
else
|
|
86
|
-
print_error "Python 3.8+ is required. Found: $python_version"
|
|
87
|
-
return 1
|
|
88
|
-
fi
|
|
89
|
-
else
|
|
90
|
-
print_error "Python 3 is not installed. Please install Python 3.8+ first."
|
|
91
|
-
return 1
|
|
92
|
-
fi
|
|
93
|
-
|
|
94
|
-
# Check for pip
|
|
95
|
-
if command -v pip3 &> /dev/null; then
|
|
96
|
-
local pip_version
|
|
97
|
-
pip_version=$(pip3 --version | cut -d' ' -f2)
|
|
98
|
-
print_success "pip3 found: $pip_version"
|
|
99
|
-
else
|
|
100
|
-
print_error "pip3 is not installed. Please install pip3 first."
|
|
101
|
-
return 1
|
|
102
|
-
fi
|
|
103
|
-
|
|
104
|
-
return 0
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
# Install Stagehand Python with virtual environment
|
|
108
|
-
install_stagehand_python() {
|
|
109
|
-
print_info "Installing Stagehand Python AI Browser Automation Framework..."
|
|
110
|
-
|
|
111
|
-
# Check requirements first
|
|
112
|
-
if ! check_python_requirements; then
|
|
113
|
-
return 1
|
|
114
|
-
fi
|
|
115
|
-
|
|
116
|
-
# Create directories
|
|
117
|
-
create_stagehand_python_directories
|
|
118
|
-
|
|
119
|
-
cd "$STAGEHAND_PYTHON_CONFIG_DIR" || return 1
|
|
120
|
-
|
|
121
|
-
# Check if uv is available (recommended)
|
|
122
|
-
if command -v uv &> /dev/null; then
|
|
123
|
-
print_info "Using uv for faster installation..."
|
|
124
|
-
|
|
125
|
-
# Create virtual environment with uv
|
|
126
|
-
print_info "Creating virtual environment with uv..."
|
|
127
|
-
uv venv .venv
|
|
128
|
-
|
|
129
|
-
# Activate virtual environment
|
|
130
|
-
# shellcheck source=/dev/null
|
|
131
|
-
source .venv/bin/activate
|
|
132
|
-
|
|
133
|
-
# Install Stagehand with uv
|
|
134
|
-
print_info "Installing stagehand with uv..."
|
|
135
|
-
uv pip install stagehand
|
|
136
|
-
|
|
137
|
-
# Install additional dependencies
|
|
138
|
-
print_info "Installing additional dependencies..."
|
|
139
|
-
uv pip install python-dotenv pydantic playwright
|
|
140
|
-
|
|
141
|
-
else
|
|
142
|
-
print_info "Using pip for installation..."
|
|
143
|
-
|
|
144
|
-
# Create virtual environment with venv
|
|
145
|
-
print_info "Creating virtual environment..."
|
|
146
|
-
python3 -m venv .venv
|
|
147
|
-
|
|
148
|
-
# Activate virtual environment
|
|
149
|
-
# shellcheck source=/dev/null
|
|
150
|
-
source .venv/bin/activate
|
|
151
|
-
|
|
152
|
-
# Upgrade pip
|
|
153
|
-
pip install --upgrade pip
|
|
154
|
-
|
|
155
|
-
# Install Stagehand
|
|
156
|
-
print_info "Installing stagehand..."
|
|
157
|
-
pip install stagehand
|
|
158
|
-
|
|
159
|
-
# Install additional dependencies
|
|
160
|
-
print_info "Installing additional dependencies..."
|
|
161
|
-
pip install python-dotenv pydantic playwright
|
|
162
|
-
fi
|
|
163
|
-
|
|
164
|
-
# Install Playwright browsers
|
|
165
|
-
print_info "Installing Playwright browsers..."
|
|
166
|
-
playwright install
|
|
167
|
-
|
|
168
|
-
print_success "Stagehand Python installation completed"
|
|
169
|
-
print_info "Virtual environment created at: $STAGEHAND_PYTHON_VENV_DIR"
|
|
170
|
-
return 0
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
# Create Python environment configuration
|
|
174
|
-
create_python_env_config() {
|
|
175
|
-
local env_file="${STAGEHAND_PYTHON_CONFIG_DIR}/.env"
|
|
176
|
-
|
|
177
|
-
if [[ -f "$env_file" ]]; then
|
|
178
|
-
print_info "Environment file already exists: $env_file"
|
|
179
|
-
return 0
|
|
180
|
-
fi
|
|
181
|
-
|
|
182
|
-
cat > "$env_file" << 'EOF'
|
|
183
|
-
# Stagehand Python Configuration
|
|
184
|
-
# Copy this file and customize for your needs
|
|
185
|
-
|
|
186
|
-
# AI Model Configuration (choose one)
|
|
187
|
-
OPENAI_API_KEY=your_openai_api_key_here
|
|
188
|
-
ANTHROPIC_API_KEY=your_anthropic_api_key_here
|
|
189
|
-
GOOGLE_API_KEY=your_google_api_key_here
|
|
190
|
-
|
|
191
|
-
# Browserbase Configuration (optional, for cloud browsers)
|
|
192
|
-
BROWSERBASE_API_KEY=your_browserbase_api_key_here
|
|
193
|
-
BROWSERBASE_PROJECT_ID=your_browserbase_project_id_here
|
|
194
|
-
|
|
195
|
-
# Stagehand Configuration
|
|
196
|
-
STAGEHAND_ENV=LOCAL
|
|
197
|
-
STAGEHAND_HEADLESS=false
|
|
198
|
-
STAGEHAND_VERBOSE=1
|
|
199
|
-
STAGEHAND_DEBUG_DOM=true
|
|
200
|
-
|
|
201
|
-
# Model Configuration
|
|
202
|
-
MODEL_NAME=google/gemini-2.5-flash-preview-05-20
|
|
203
|
-
MODEL_API_KEY=${GOOGLE_API_KEY}
|
|
204
|
-
|
|
205
|
-
# Logging Configuration
|
|
206
|
-
LOG_LEVEL=INFO
|
|
207
|
-
LOG_FILE=stagehand-python.log
|
|
208
|
-
EOF
|
|
209
|
-
|
|
210
|
-
print_success "Created Python environment configuration at: $env_file"
|
|
211
|
-
print_info "Please edit $env_file to add your API keys"
|
|
212
|
-
return 0
|
|
213
|
-
}
|
|
214
|
-
|
|
215
|
-
# Show help information
|
|
216
|
-
show_help() {
|
|
217
|
-
cat << EOF
|
|
218
|
-
Stagehand Python Helper - AI Browser Automation Framework Integration
|
|
219
|
-
|
|
220
|
-
USAGE:
|
|
221
|
-
$0 [COMMAND] [OPTIONS]
|
|
222
|
-
|
|
223
|
-
COMMANDS:
|
|
224
|
-
help Show this help message
|
|
225
|
-
install Install Stagehand Python and dependencies
|
|
226
|
-
setup Complete setup (install + configure + examples)
|
|
227
|
-
create-examples Create Python example scripts
|
|
228
|
-
run-example [NAME] Run a specific example script
|
|
229
|
-
status Check Stagehand Python installation status
|
|
230
|
-
activate Show activation command for virtual environment
|
|
231
|
-
logs Show recent Stagehand Python logs
|
|
232
|
-
clean Clean cache and temporary files
|
|
233
|
-
test Run basic functionality test
|
|
234
|
-
|
|
235
|
-
EXAMPLES:
|
|
236
|
-
$0 install # Install Stagehand Python
|
|
237
|
-
$0 setup # Complete setup
|
|
238
|
-
$0 activate # Show venv activation command
|
|
239
|
-
$0 run-example basic # Run basic example
|
|
240
|
-
$0 status # Check installation
|
|
241
|
-
|
|
242
|
-
VIRTUAL ENVIRONMENT:
|
|
243
|
-
To activate the virtual environment manually:
|
|
244
|
-
source ~/.aidevops/stagehand-python/.venv/bin/activate
|
|
245
|
-
|
|
246
|
-
DOCUMENTATION:
|
|
247
|
-
For detailed documentation, see: .agent/STAGEHAND-PYTHON.md
|
|
248
|
-
Official docs: https://docs.stagehand.dev
|
|
249
|
-
GitHub: https://github.com/browserbase/stagehand-python
|
|
250
|
-
|
|
251
|
-
EOF
|
|
252
|
-
return 0
|
|
253
|
-
}
|
|
254
|
-
|
|
255
|
-
# Main function
|
|
256
|
-
main() {
|
|
257
|
-
local command="${1:-help}"
|
|
258
|
-
|
|
259
|
-
case "$command" in
|
|
260
|
-
"help")
|
|
261
|
-
show_help
|
|
262
|
-
;;
|
|
263
|
-
"install")
|
|
264
|
-
install_stagehand_python
|
|
265
|
-
;;
|
|
266
|
-
"setup")
|
|
267
|
-
install_stagehand_python && create_python_env_config
|
|
268
|
-
;;
|
|
269
|
-
"create-examples")
|
|
270
|
-
create_stagehand_python_directories
|
|
271
|
-
print_info "Python examples will be created by the setup script"
|
|
272
|
-
;;
|
|
273
|
-
"status")
|
|
274
|
-
if [[ -d "$STAGEHAND_PYTHON_VENV_DIR" ]] && [[ -f "${STAGEHAND_PYTHON_VENV_DIR}/bin/activate" ]]; then
|
|
275
|
-
print_success "Stagehand Python is installed at: $STAGEHAND_PYTHON_CONFIG_DIR"
|
|
276
|
-
print_info "Virtual environment: $STAGEHAND_PYTHON_VENV_DIR"
|
|
277
|
-
if command -v python3 &> /dev/null; then
|
|
278
|
-
print_info "Python version: $(python3 --version)"
|
|
279
|
-
fi
|
|
280
|
-
if [[ -f "${STAGEHAND_PYTHON_VENV_DIR}/bin/python" ]]; then
|
|
281
|
-
print_info "Virtual env Python: $(${STAGEHAND_PYTHON_VENV_DIR}/bin/python --version)"
|
|
282
|
-
fi
|
|
283
|
-
else
|
|
284
|
-
print_error "Stagehand Python is not installed. Run '$0 install' first."
|
|
285
|
-
return 1
|
|
286
|
-
fi
|
|
287
|
-
;;
|
|
288
|
-
"activate")
|
|
289
|
-
if [[ -f "${STAGEHAND_PYTHON_VENV_DIR}/bin/activate" ]]; then
|
|
290
|
-
print_info "To activate the virtual environment, run:"
|
|
291
|
-
echo "source ${STAGEHAND_PYTHON_VENV_DIR}/bin/activate"
|
|
292
|
-
else
|
|
293
|
-
print_error "Virtual environment not found. Run '$0 install' first."
|
|
294
|
-
return 1
|
|
295
|
-
fi
|
|
296
|
-
;;
|
|
297
|
-
"logs")
|
|
298
|
-
if [[ -f "${STAGEHAND_PYTHON_LOGS_DIR}/stagehand-python.log" ]]; then
|
|
299
|
-
tail -n 50 "${STAGEHAND_PYTHON_LOGS_DIR}/stagehand-python.log"
|
|
300
|
-
else
|
|
301
|
-
print_info "No log files found"
|
|
302
|
-
fi
|
|
303
|
-
;;
|
|
304
|
-
"clean")
|
|
305
|
-
print_info "Cleaning Stagehand Python cache and temporary files..."
|
|
306
|
-
rm -rf "${STAGEHAND_PYTHON_CACHE_DIR:?}"/*
|
|
307
|
-
rm -rf "${STAGEHAND_PYTHON_LOGS_DIR:?}"/*
|
|
308
|
-
print_success "Cleanup completed"
|
|
309
|
-
;;
|
|
310
|
-
*)
|
|
311
|
-
print_error "$ERROR_UNKNOWN_COMMAND $command"
|
|
312
|
-
show_help
|
|
313
|
-
return 1
|
|
314
|
-
;;
|
|
315
|
-
esac
|
|
316
|
-
|
|
317
|
-
return 0
|
|
318
|
-
}
|
|
319
|
-
|
|
320
|
-
# Execute main function with all arguments
|
|
321
|
-
main "$@"
|