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.
Files changed (119) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +1321 -0
  3. package/bin/nstbrowser-ai-agent-darwin-arm64 +0 -0
  4. package/bin/nstbrowser-ai-agent-darwin-x64 +0 -0
  5. package/bin/nstbrowser-ai-agent-linux-arm64 +0 -0
  6. package/bin/nstbrowser-ai-agent-linux-x64 +0 -0
  7. package/bin/nstbrowser-ai-agent-win32-x64.exe +0 -0
  8. package/bin/nstbrowser-ai-agent.js +109 -0
  9. package/dist/action-policy.d.ts +14 -0
  10. package/dist/action-policy.d.ts.map +1 -0
  11. package/dist/action-policy.js +253 -0
  12. package/dist/action-policy.js.map +1 -0
  13. package/dist/actions.d.ts +18 -0
  14. package/dist/actions.d.ts.map +1 -0
  15. package/dist/actions.js +2037 -0
  16. package/dist/actions.js.map +1 -0
  17. package/dist/auth-cli.d.ts +2 -0
  18. package/dist/auth-cli.d.ts.map +1 -0
  19. package/dist/auth-cli.js +97 -0
  20. package/dist/auth-cli.js.map +1 -0
  21. package/dist/auth-vault.d.ts +36 -0
  22. package/dist/auth-vault.d.ts.map +1 -0
  23. package/dist/auth-vault.js +125 -0
  24. package/dist/auth-vault.js.map +1 -0
  25. package/dist/browser.d.ts +573 -0
  26. package/dist/browser.d.ts.map +1 -0
  27. package/dist/browser.js +2036 -0
  28. package/dist/browser.js.map +1 -0
  29. package/dist/confirmation.d.ts +8 -0
  30. package/dist/confirmation.d.ts.map +1 -0
  31. package/dist/confirmation.js +30 -0
  32. package/dist/confirmation.js.map +1 -0
  33. package/dist/daemon.d.ts +65 -0
  34. package/dist/daemon.d.ts.map +1 -0
  35. package/dist/daemon.js +589 -0
  36. package/dist/daemon.js.map +1 -0
  37. package/dist/diff.d.ts +18 -0
  38. package/dist/diff.d.ts.map +1 -0
  39. package/dist/diff.js +271 -0
  40. package/dist/diff.js.map +1 -0
  41. package/dist/domain-filter.d.ts +28 -0
  42. package/dist/domain-filter.d.ts.map +1 -0
  43. package/dist/domain-filter.js +149 -0
  44. package/dist/domain-filter.js.map +1 -0
  45. package/dist/encryption.d.ts +73 -0
  46. package/dist/encryption.d.ts.map +1 -0
  47. package/dist/encryption.js +171 -0
  48. package/dist/encryption.js.map +1 -0
  49. package/dist/ios-actions.d.ts +11 -0
  50. package/dist/ios-actions.d.ts.map +1 -0
  51. package/dist/ios-actions.js +228 -0
  52. package/dist/ios-actions.js.map +1 -0
  53. package/dist/ios-manager.d.ts +266 -0
  54. package/dist/ios-manager.d.ts.map +1 -0
  55. package/dist/ios-manager.js +1073 -0
  56. package/dist/ios-manager.js.map +1 -0
  57. package/dist/nstbrowser-actions.d.ts +10 -0
  58. package/dist/nstbrowser-actions.d.ts.map +1 -0
  59. package/dist/nstbrowser-actions.js +277 -0
  60. package/dist/nstbrowser-actions.js.map +1 -0
  61. package/dist/nstbrowser-client.d.ts +197 -0
  62. package/dist/nstbrowser-client.d.ts.map +1 -0
  63. package/dist/nstbrowser-client.js +454 -0
  64. package/dist/nstbrowser-client.js.map +1 -0
  65. package/dist/nstbrowser-errors.d.ts +28 -0
  66. package/dist/nstbrowser-errors.d.ts.map +1 -0
  67. package/dist/nstbrowser-errors.js +59 -0
  68. package/dist/nstbrowser-errors.js.map +1 -0
  69. package/dist/nstbrowser-profile-resolver.d.ts +89 -0
  70. package/dist/nstbrowser-profile-resolver.d.ts.map +1 -0
  71. package/dist/nstbrowser-profile-resolver.js +227 -0
  72. package/dist/nstbrowser-profile-resolver.js.map +1 -0
  73. package/dist/nstbrowser-types.d.ts +151 -0
  74. package/dist/nstbrowser-types.d.ts.map +1 -0
  75. package/dist/nstbrowser-types.js +5 -0
  76. package/dist/nstbrowser-types.js.map +1 -0
  77. package/dist/nstbrowser-utils.d.ts +71 -0
  78. package/dist/nstbrowser-utils.d.ts.map +1 -0
  79. package/dist/nstbrowser-utils.js +174 -0
  80. package/dist/nstbrowser-utils.js.map +1 -0
  81. package/dist/protocol.d.ts +26 -0
  82. package/dist/protocol.d.ts.map +1 -0
  83. package/dist/protocol.js +1245 -0
  84. package/dist/protocol.js.map +1 -0
  85. package/dist/snapshot.d.ts +67 -0
  86. package/dist/snapshot.d.ts.map +1 -0
  87. package/dist/snapshot.js +514 -0
  88. package/dist/snapshot.js.map +1 -0
  89. package/dist/state-utils.d.ts +77 -0
  90. package/dist/state-utils.d.ts.map +1 -0
  91. package/dist/state-utils.js +178 -0
  92. package/dist/state-utils.js.map +1 -0
  93. package/dist/stream-server.d.ts +117 -0
  94. package/dist/stream-server.d.ts.map +1 -0
  95. package/dist/stream-server.js +309 -0
  96. package/dist/stream-server.js.map +1 -0
  97. package/dist/types.d.ts +1121 -0
  98. package/dist/types.d.ts.map +1 -0
  99. package/dist/types.js +2 -0
  100. package/dist/types.js.map +1 -0
  101. package/package.json +83 -0
  102. package/scripts/analyze-api-coverage.js +205 -0
  103. package/scripts/analyze-cli-coverage.js +239 -0
  104. package/scripts/build-all-platforms.sh +68 -0
  105. package/scripts/check-version-sync.js +39 -0
  106. package/scripts/copy-native.js +36 -0
  107. package/scripts/download-nstbrowser-docs.js +152 -0
  108. package/scripts/generate-skills.sh +218 -0
  109. package/scripts/postinstall.js +231 -0
  110. package/scripts/sync-version.js +69 -0
  111. package/skills/nstbrowser-ai-agent/SKILL.md +759 -0
  112. package/skills/nstbrowser-ai-agent/references/batch-operations.md +414 -0
  113. package/skills/nstbrowser-ai-agent/references/nst-api-reference.md +960 -0
  114. package/skills/nstbrowser-ai-agent/references/profile-management.md +672 -0
  115. package/skills/nstbrowser-ai-agent/references/proxy-configuration.md +460 -0
  116. package/skills/nstbrowser-ai-agent/references/troubleshooting.md +773 -0
  117. package/skills/nstbrowser-ai-agent/templates/automated-workflow.sh +248 -0
  118. package/skills/nstbrowser-ai-agent/templates/batch-proxy-update.sh +257 -0
  119. 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"