nstbrowser-ai-agent 0.0.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/LICENSE +201 -0
- package/README.md +1321 -0
- package/bin/nstbrowser-ai-agent-darwin-arm64 +0 -0
- package/bin/nstbrowser-ai-agent-darwin-x64 +0 -0
- package/bin/nstbrowser-ai-agent-linux-arm64 +0 -0
- package/bin/nstbrowser-ai-agent-linux-x64 +0 -0
- package/bin/nstbrowser-ai-agent-win32-x64.exe +0 -0
- package/bin/nstbrowser-ai-agent.js +109 -0
- package/dist/action-policy.d.ts +14 -0
- package/dist/action-policy.d.ts.map +1 -0
- package/dist/action-policy.js +253 -0
- package/dist/action-policy.js.map +1 -0
- package/dist/actions.d.ts +18 -0
- package/dist/actions.d.ts.map +1 -0
- package/dist/actions.js +2037 -0
- package/dist/actions.js.map +1 -0
- package/dist/auth-cli.d.ts +2 -0
- package/dist/auth-cli.d.ts.map +1 -0
- package/dist/auth-cli.js +97 -0
- package/dist/auth-cli.js.map +1 -0
- package/dist/auth-vault.d.ts +36 -0
- package/dist/auth-vault.d.ts.map +1 -0
- package/dist/auth-vault.js +125 -0
- package/dist/auth-vault.js.map +1 -0
- package/dist/browser.d.ts +573 -0
- package/dist/browser.d.ts.map +1 -0
- package/dist/browser.js +2036 -0
- package/dist/browser.js.map +1 -0
- package/dist/confirmation.d.ts +8 -0
- package/dist/confirmation.d.ts.map +1 -0
- package/dist/confirmation.js +30 -0
- package/dist/confirmation.js.map +1 -0
- package/dist/daemon.d.ts +65 -0
- package/dist/daemon.d.ts.map +1 -0
- package/dist/daemon.js +589 -0
- package/dist/daemon.js.map +1 -0
- package/dist/diff.d.ts +18 -0
- package/dist/diff.d.ts.map +1 -0
- package/dist/diff.js +271 -0
- package/dist/diff.js.map +1 -0
- package/dist/domain-filter.d.ts +28 -0
- package/dist/domain-filter.d.ts.map +1 -0
- package/dist/domain-filter.js +149 -0
- package/dist/domain-filter.js.map +1 -0
- package/dist/encryption.d.ts +73 -0
- package/dist/encryption.d.ts.map +1 -0
- package/dist/encryption.js +171 -0
- package/dist/encryption.js.map +1 -0
- package/dist/ios-actions.d.ts +11 -0
- package/dist/ios-actions.d.ts.map +1 -0
- package/dist/ios-actions.js +228 -0
- package/dist/ios-actions.js.map +1 -0
- package/dist/ios-manager.d.ts +266 -0
- package/dist/ios-manager.d.ts.map +1 -0
- package/dist/ios-manager.js +1073 -0
- package/dist/ios-manager.js.map +1 -0
- package/dist/nstbrowser-actions.d.ts +10 -0
- package/dist/nstbrowser-actions.d.ts.map +1 -0
- package/dist/nstbrowser-actions.js +277 -0
- package/dist/nstbrowser-actions.js.map +1 -0
- package/dist/nstbrowser-client.d.ts +197 -0
- package/dist/nstbrowser-client.d.ts.map +1 -0
- package/dist/nstbrowser-client.js +454 -0
- package/dist/nstbrowser-client.js.map +1 -0
- package/dist/nstbrowser-errors.d.ts +28 -0
- package/dist/nstbrowser-errors.d.ts.map +1 -0
- package/dist/nstbrowser-errors.js +59 -0
- package/dist/nstbrowser-errors.js.map +1 -0
- package/dist/nstbrowser-profile-resolver.d.ts +89 -0
- package/dist/nstbrowser-profile-resolver.d.ts.map +1 -0
- package/dist/nstbrowser-profile-resolver.js +227 -0
- package/dist/nstbrowser-profile-resolver.js.map +1 -0
- package/dist/nstbrowser-types.d.ts +151 -0
- package/dist/nstbrowser-types.d.ts.map +1 -0
- package/dist/nstbrowser-types.js +5 -0
- package/dist/nstbrowser-types.js.map +1 -0
- package/dist/nstbrowser-utils.d.ts +71 -0
- package/dist/nstbrowser-utils.d.ts.map +1 -0
- package/dist/nstbrowser-utils.js +174 -0
- package/dist/nstbrowser-utils.js.map +1 -0
- package/dist/protocol.d.ts +26 -0
- package/dist/protocol.d.ts.map +1 -0
- package/dist/protocol.js +1245 -0
- package/dist/protocol.js.map +1 -0
- package/dist/snapshot.d.ts +67 -0
- package/dist/snapshot.d.ts.map +1 -0
- package/dist/snapshot.js +514 -0
- package/dist/snapshot.js.map +1 -0
- package/dist/state-utils.d.ts +77 -0
- package/dist/state-utils.d.ts.map +1 -0
- package/dist/state-utils.js +178 -0
- package/dist/state-utils.js.map +1 -0
- package/dist/stream-server.d.ts +117 -0
- package/dist/stream-server.d.ts.map +1 -0
- package/dist/stream-server.js +309 -0
- package/dist/stream-server.js.map +1 -0
- package/dist/types.d.ts +1121 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/package.json +83 -0
- package/scripts/analyze-api-coverage.js +205 -0
- package/scripts/analyze-cli-coverage.js +239 -0
- package/scripts/build-all-platforms.sh +68 -0
- package/scripts/check-version-sync.js +39 -0
- package/scripts/copy-native.js +36 -0
- package/scripts/download-nstbrowser-docs.js +152 -0
- package/scripts/generate-skills.sh +218 -0
- package/scripts/postinstall.js +231 -0
- package/scripts/sync-version.js +69 -0
- package/skills/nstbrowser-ai-agent/SKILL.md +759 -0
- package/skills/nstbrowser-ai-agent/references/batch-operations.md +414 -0
- package/skills/nstbrowser-ai-agent/references/nst-api-reference.md +960 -0
- package/skills/nstbrowser-ai-agent/references/profile-management.md +672 -0
- package/skills/nstbrowser-ai-agent/references/proxy-configuration.md +460 -0
- package/skills/nstbrowser-ai-agent/references/troubleshooting.md +773 -0
- package/skills/nstbrowser-ai-agent/templates/automated-workflow.sh +248 -0
- package/skills/nstbrowser-ai-agent/templates/batch-proxy-update.sh +257 -0
- package/skills/nstbrowser-ai-agent/templates/profile-setup.sh +248 -0
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
# Profile Setup Template
|
|
4
|
+
#
|
|
5
|
+
# This script creates and configures an NST profile with optional proxy, tags, and group settings.
|
|
6
|
+
#
|
|
7
|
+
# Usage:
|
|
8
|
+
# ./profile-setup.sh <profile-name> [options]
|
|
9
|
+
#
|
|
10
|
+
# Options:
|
|
11
|
+
# --proxy-host <host> Proxy server host
|
|
12
|
+
# --proxy-port <port> Proxy server port
|
|
13
|
+
# --proxy-type <type> Proxy type (http|https|socks5)
|
|
14
|
+
# --proxy-username <user> Proxy username
|
|
15
|
+
# --proxy-password <pass> Proxy password
|
|
16
|
+
# --tags <tag1,tag2> Comma-separated tags
|
|
17
|
+
# --group-id <id> Group ID
|
|
18
|
+
# --platform <platform> Platform (Windows|macOS|Linux)
|
|
19
|
+
# --kernel <version> Kernel version (e.g., 126)
|
|
20
|
+
#
|
|
21
|
+
# Examples:
|
|
22
|
+
# # Create basic profile
|
|
23
|
+
# ./profile-setup.sh my-profile
|
|
24
|
+
#
|
|
25
|
+
# # Create profile with proxy
|
|
26
|
+
# ./profile-setup.sh my-profile \
|
|
27
|
+
# --proxy-host proxy.example.com \
|
|
28
|
+
# --proxy-port 8080 \
|
|
29
|
+
# --proxy-type http
|
|
30
|
+
#
|
|
31
|
+
# # Create profile with proxy authentication and tags
|
|
32
|
+
# ./profile-setup.sh my-profile \
|
|
33
|
+
# --proxy-host proxy.example.com \
|
|
34
|
+
# --proxy-port 8080 \
|
|
35
|
+
# --proxy-username user \
|
|
36
|
+
# --proxy-password pass \
|
|
37
|
+
# --tags "testing,automation"
|
|
38
|
+
#
|
|
39
|
+
# # Create profile with all options
|
|
40
|
+
# ./profile-setup.sh my-profile \
|
|
41
|
+
# --proxy-host proxy.example.com \
|
|
42
|
+
# --proxy-port 8080 \
|
|
43
|
+
# --proxy-type socks5 \
|
|
44
|
+
# --proxy-username user \
|
|
45
|
+
# --proxy-password pass \
|
|
46
|
+
# --tags "production,us-east" \
|
|
47
|
+
# --group-id abc123 \
|
|
48
|
+
# --platform Windows \
|
|
49
|
+
# --kernel 126
|
|
50
|
+
|
|
51
|
+
set -e # Exit on error
|
|
52
|
+
|
|
53
|
+
# Colors for output
|
|
54
|
+
RED='\033[0;31m'
|
|
55
|
+
GREEN='\033[0;32m'
|
|
56
|
+
YELLOW='\033[1;33m'
|
|
57
|
+
NC='\033[0m' # No Color
|
|
58
|
+
|
|
59
|
+
# Check if NO_COLOR is set
|
|
60
|
+
if [ -n "$NO_COLOR" ]; then
|
|
61
|
+
RED=''
|
|
62
|
+
GREEN=''
|
|
63
|
+
YELLOW=''
|
|
64
|
+
NC=''
|
|
65
|
+
fi
|
|
66
|
+
|
|
67
|
+
# Helper functions
|
|
68
|
+
error() {
|
|
69
|
+
echo -e "${RED}✗ Error: $1${NC}" >&2
|
|
70
|
+
exit 1
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
success() {
|
|
74
|
+
echo -e "${GREEN}✓ $1${NC}"
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
info() {
|
|
78
|
+
echo -e "${YELLOW}→ $1${NC}"
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
# Check if nstbrowser-ai-agent is installed
|
|
82
|
+
if ! command -v nstbrowser-ai-agent &> /dev/null; then
|
|
83
|
+
error "nstbrowser-ai-agent is not installed. Run: npm install -g nstbrowser-ai-agent"
|
|
84
|
+
fi
|
|
85
|
+
|
|
86
|
+
# Parse arguments
|
|
87
|
+
PROFILE_NAME=""
|
|
88
|
+
PROXY_HOST=""
|
|
89
|
+
PROXY_PORT=""
|
|
90
|
+
PROXY_TYPE=""
|
|
91
|
+
PROXY_USERNAME=""
|
|
92
|
+
PROXY_PASSWORD=""
|
|
93
|
+
TAGS=""
|
|
94
|
+
GROUP_ID=""
|
|
95
|
+
PLATFORM=""
|
|
96
|
+
KERNEL=""
|
|
97
|
+
|
|
98
|
+
if [ $# -eq 0 ]; then
|
|
99
|
+
error "Profile name is required. Usage: $0 <profile-name> [options]"
|
|
100
|
+
fi
|
|
101
|
+
|
|
102
|
+
PROFILE_NAME="$1"
|
|
103
|
+
shift
|
|
104
|
+
|
|
105
|
+
while [ $# -gt 0 ]; do
|
|
106
|
+
case "$1" in
|
|
107
|
+
--proxy-host)
|
|
108
|
+
PROXY_HOST="$2"
|
|
109
|
+
shift 2
|
|
110
|
+
;;
|
|
111
|
+
--proxy-port)
|
|
112
|
+
PROXY_PORT="$2"
|
|
113
|
+
shift 2
|
|
114
|
+
;;
|
|
115
|
+
--proxy-type)
|
|
116
|
+
PROXY_TYPE="$2"
|
|
117
|
+
shift 2
|
|
118
|
+
;;
|
|
119
|
+
--proxy-username)
|
|
120
|
+
PROXY_USERNAME="$2"
|
|
121
|
+
shift 2
|
|
122
|
+
;;
|
|
123
|
+
--proxy-password)
|
|
124
|
+
PROXY_PASSWORD="$2"
|
|
125
|
+
shift 2
|
|
126
|
+
;;
|
|
127
|
+
--tags)
|
|
128
|
+
TAGS="$2"
|
|
129
|
+
shift 2
|
|
130
|
+
;;
|
|
131
|
+
--group-id)
|
|
132
|
+
GROUP_ID="$2"
|
|
133
|
+
shift 2
|
|
134
|
+
;;
|
|
135
|
+
--platform)
|
|
136
|
+
PLATFORM="$2"
|
|
137
|
+
shift 2
|
|
138
|
+
;;
|
|
139
|
+
--kernel)
|
|
140
|
+
KERNEL="$2"
|
|
141
|
+
shift 2
|
|
142
|
+
;;
|
|
143
|
+
*)
|
|
144
|
+
error "Unknown option: $1"
|
|
145
|
+
;;
|
|
146
|
+
esac
|
|
147
|
+
done
|
|
148
|
+
|
|
149
|
+
# Validate profile name
|
|
150
|
+
if [ -z "$PROFILE_NAME" ]; then
|
|
151
|
+
error "Profile name cannot be empty"
|
|
152
|
+
fi
|
|
153
|
+
|
|
154
|
+
info "Setting up profile: $PROFILE_NAME"
|
|
155
|
+
|
|
156
|
+
# Check NST API connectivity
|
|
157
|
+
info "Checking NST API connectivity..."
|
|
158
|
+
if ! nstbrowser-ai-agent profile list &> /dev/null; then
|
|
159
|
+
error "Failed to connect to NST API. Check NST_API_KEY, NST_HOST, and NST_PORT environment variables."
|
|
160
|
+
fi
|
|
161
|
+
success "NST API is accessible"
|
|
162
|
+
|
|
163
|
+
# Build create command
|
|
164
|
+
CREATE_CMD="nstbrowser-ai-agent profile create \"$PROFILE_NAME\""
|
|
165
|
+
|
|
166
|
+
if [ -n "$PLATFORM" ]; then
|
|
167
|
+
CREATE_CMD="$CREATE_CMD --platform $PLATFORM"
|
|
168
|
+
fi
|
|
169
|
+
|
|
170
|
+
if [ -n "$KERNEL" ]; then
|
|
171
|
+
CREATE_CMD="$CREATE_CMD --kernel $KERNEL"
|
|
172
|
+
fi
|
|
173
|
+
|
|
174
|
+
if [ -n "$GROUP_ID" ]; then
|
|
175
|
+
CREATE_CMD="$CREATE_CMD --group-id $GROUP_ID"
|
|
176
|
+
fi
|
|
177
|
+
|
|
178
|
+
# Add proxy options if provided
|
|
179
|
+
if [ -n "$PROXY_HOST" ] && [ -n "$PROXY_PORT" ]; then
|
|
180
|
+
CREATE_CMD="$CREATE_CMD --proxy-host $PROXY_HOST --proxy-port $PROXY_PORT"
|
|
181
|
+
|
|
182
|
+
if [ -n "$PROXY_TYPE" ]; then
|
|
183
|
+
CREATE_CMD="$CREATE_CMD --proxy-type $PROXY_TYPE"
|
|
184
|
+
fi
|
|
185
|
+
|
|
186
|
+
if [ -n "$PROXY_USERNAME" ]; then
|
|
187
|
+
CREATE_CMD="$CREATE_CMD --proxy-username $PROXY_USERNAME"
|
|
188
|
+
fi
|
|
189
|
+
|
|
190
|
+
if [ -n "$PROXY_PASSWORD" ]; then
|
|
191
|
+
CREATE_CMD="$CREATE_CMD --proxy-password $PROXY_PASSWORD"
|
|
192
|
+
fi
|
|
193
|
+
fi
|
|
194
|
+
|
|
195
|
+
# Create profile
|
|
196
|
+
info "Creating profile..."
|
|
197
|
+
if eval "$CREATE_CMD"; then
|
|
198
|
+
success "Profile created successfully"
|
|
199
|
+
else
|
|
200
|
+
error "Failed to create profile"
|
|
201
|
+
fi
|
|
202
|
+
|
|
203
|
+
# Get profile ID
|
|
204
|
+
info "Retrieving profile ID..."
|
|
205
|
+
PROFILE_ID=$(nstbrowser-ai-agent profile list --json | jq -r ".[] | select(.name == \"$PROFILE_NAME\") | .profileId")
|
|
206
|
+
|
|
207
|
+
if [ -z "$PROFILE_ID" ]; then
|
|
208
|
+
error "Failed to retrieve profile ID"
|
|
209
|
+
fi
|
|
210
|
+
success "Profile ID: $PROFILE_ID"
|
|
211
|
+
|
|
212
|
+
# Add tags if provided
|
|
213
|
+
if [ -n "$TAGS" ]; then
|
|
214
|
+
info "Adding tags..."
|
|
215
|
+
IFS=',' read -ra TAG_ARRAY <<< "$TAGS"
|
|
216
|
+
for tag in "${TAG_ARRAY[@]}"; do
|
|
217
|
+
tag=$(echo "$tag" | xargs) # Trim whitespace
|
|
218
|
+
if nstbrowser-ai-agent profile tags create "$PROFILE_ID" "$tag"; then
|
|
219
|
+
success "Added tag: $tag"
|
|
220
|
+
else
|
|
221
|
+
error "Failed to add tag: $tag"
|
|
222
|
+
fi
|
|
223
|
+
done
|
|
224
|
+
fi
|
|
225
|
+
|
|
226
|
+
# Verify profile creation
|
|
227
|
+
info "Verifying profile..."
|
|
228
|
+
if nstbrowser-ai-agent profile show "$PROFILE_NAME" &> /dev/null; then
|
|
229
|
+
success "Profile verification successful"
|
|
230
|
+
else
|
|
231
|
+
error "Profile verification failed"
|
|
232
|
+
fi
|
|
233
|
+
|
|
234
|
+
# Display profile details
|
|
235
|
+
info "Profile details:"
|
|
236
|
+
nstbrowser-ai-agent profile show "$PROFILE_NAME"
|
|
237
|
+
|
|
238
|
+
# Display proxy details if configured
|
|
239
|
+
if [ -n "$PROXY_HOST" ] && [ -n "$PROXY_PORT" ]; then
|
|
240
|
+
info "Proxy configuration:"
|
|
241
|
+
nstbrowser-ai-agent profile proxy show "$PROFILE_NAME"
|
|
242
|
+
fi
|
|
243
|
+
|
|
244
|
+
success "Profile setup complete!"
|
|
245
|
+
echo ""
|
|
246
|
+
echo "You can now use this profile with:"
|
|
247
|
+
echo " nstbrowser-ai-agent --profile \"$PROFILE_NAME\" browser start"
|
|
248
|
+
echo " nstbrowser-ai-agent --profile \"$PROFILE_NAME\" open https://example.com"
|