thinknagent 0.1.19 → 0.1.20
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/bin/thinknagent.js +2 -17
- package/package.json +1 -1
- package/thinknagent.sh +12 -18
package/bin/thinknagent.js
CHANGED
|
@@ -89,8 +89,7 @@ program
|
|
|
89
89
|
} else {
|
|
90
90
|
console.log(chalk.yellow(' Next steps:'));
|
|
91
91
|
console.log(' • Start background auto-restart daemon : ' + chalk.cyan('thinknagent daemon start'));
|
|
92
|
-
console.log(' • Or run directly in terminal : ' + chalk.cyan('thinknagent start'));
|
|
93
|
-
console.log(' • Or launch local GUI app : ' + chalk.cyan('thinknagent app\n'));
|
|
92
|
+
console.log(' • Or run directly in terminal : ' + chalk.cyan('thinknagent start\n'));
|
|
94
93
|
}
|
|
95
94
|
});
|
|
96
95
|
|
|
@@ -202,18 +201,6 @@ program
|
|
|
202
201
|
console.log(chalk.gray(' To re-register: thinknagent init --room <roomId>\n'));
|
|
203
202
|
});
|
|
204
203
|
|
|
205
|
-
// ── app (Local GUI / Web App) ────────────────────────────────────────────────
|
|
206
|
-
program
|
|
207
|
-
.command('app')
|
|
208
|
-
.description('Launch the ThinkNCollab Agent App (Local GUI Dashboard)')
|
|
209
|
-
.option('-p, --port <port>', 'Local port to run UI on', '4455')
|
|
210
|
-
.option('--no-open', 'Do not open browser automatically')
|
|
211
|
-
.action((opts) => {
|
|
212
|
-
const AgentApp = require('../lib/app');
|
|
213
|
-
const app = new AgentApp(parseInt(opts.port, 10));
|
|
214
|
-
app.start(opts.open !== false);
|
|
215
|
-
});
|
|
216
|
-
|
|
217
204
|
// ── daemon (Background Auto-Restart Service) ──────────────────────────────────
|
|
218
205
|
const daemonCmd = program
|
|
219
206
|
.command('daemon')
|
|
@@ -276,12 +263,10 @@ if (process.argv.length <= 2) {
|
|
|
276
263
|
console.log(` Quick Commands :`);
|
|
277
264
|
console.log(` • ${chalk.cyan('thinknagent daemon start')} (Run in background with auto-restart)`);
|
|
278
265
|
console.log(` • ${chalk.cyan('thinknagent status')} (Check live approval & status)`);
|
|
279
|
-
console.log(` • ${chalk.cyan('thinknagent app')} (Open Desktop GUI dashboard)`);
|
|
280
266
|
console.log(` • ${chalk.cyan('thinknagent logs')} (View recent logs)\n`);
|
|
281
267
|
} else {
|
|
282
268
|
console.log(` Get Started:`);
|
|
283
|
-
console.log(` • ${chalk.cyan('thinknagent init --room <roomId>')} (Register this server)`);
|
|
284
|
-
console.log(` • ${chalk.cyan('thinknagent app')} (Launch local GUI setup)\n`);
|
|
269
|
+
console.log(` • ${chalk.cyan('thinknagent init --room <roomId>')} (Register this server)\n`);
|
|
285
270
|
}
|
|
286
271
|
}
|
|
287
272
|
|
package/package.json
CHANGED
package/thinknagent.sh
CHANGED
|
@@ -299,9 +299,19 @@ cmd_start() {
|
|
|
299
299
|
EOF
|
|
300
300
|
)
|
|
301
301
|
|
|
302
|
-
curl -s -X POST "${server}/devops/api/agent/metrics" \
|
|
302
|
+
local metrics_res=$(curl -s -X POST "${server}/devops/api/agent/metrics" \
|
|
303
303
|
-H "Content-Type: application/json" \
|
|
304
|
-
-d "$payload"
|
|
304
|
+
-d "$payload" 2>/dev/null || echo '{}')
|
|
305
|
+
|
|
306
|
+
if [[ "$metrics_res" == *"Invalid"* || "$metrics_res" == *"not approved"* || "$metrics_res" == *"token"* ]]; then
|
|
307
|
+
local status_res=$(curl -s "${server}/devops/api/agent/status/${agentId}" 2>/dev/null || echo '{}')
|
|
308
|
+
local status=$(echo "$status_res" | grep -o '"status":"[^"]*"' | cut -d'"' -f4 || echo "")
|
|
309
|
+
local new_token=$(echo "$status_res" | grep -o '"token":"[^"]*"' | cut -d'"' -f4 || echo "")
|
|
310
|
+
if [[ "$status" == "approved" && -n "$new_token" ]]; then
|
|
311
|
+
token="$new_token"
|
|
312
|
+
save_config "$server" "$name" "$room" "$agentId" "$token" "approved"
|
|
313
|
+
fi
|
|
314
|
+
fi
|
|
305
315
|
|
|
306
316
|
# Sub-second fast poller for near-instant interactive terminal response
|
|
307
317
|
for _i in {1..6}; do
|
|
@@ -451,21 +461,6 @@ cmd_revoke() {
|
|
|
451
461
|
log_info "To re-register: thinknagent init --room <roomId>"
|
|
452
462
|
}
|
|
453
463
|
|
|
454
|
-
cmd_app() {
|
|
455
|
-
local port="${1:-4455}"
|
|
456
|
-
if command -v thinknagent >/dev/null 2>&1; then
|
|
457
|
-
thinknagent app -p "$port"
|
|
458
|
-
elif command -v npx >/dev/null 2>&1; then
|
|
459
|
-
npx thinknagent app -p "$port"
|
|
460
|
-
elif [[ -f "${HOME}/.thinknagent/node_modules/.bin/thinknagent" ]]; then
|
|
461
|
-
"${HOME}/.thinknagent/node_modules/.bin/thinknagent" app -p "$port"
|
|
462
|
-
elif [[ -f "$(dirname "${BASH_SOURCE[0]}")/../bin/thinknagent.js" ]]; then
|
|
463
|
-
node "$(dirname "${BASH_SOURCE[0]}")/../bin/thinknagent.js" app -p "$port"
|
|
464
|
-
else
|
|
465
|
-
log_err "Node.js required for GUI app. Run 'thinknagent.sh daemon' for background agent."
|
|
466
|
-
fi
|
|
467
|
-
}
|
|
468
|
-
|
|
469
464
|
cmd_status() {
|
|
470
465
|
local server=$(get_json_val "serverUrl")
|
|
471
466
|
local name=$(get_json_val "name")
|
|
@@ -535,7 +530,6 @@ EOF
|
|
|
535
530
|
|
|
536
531
|
case "${1:-status}" in
|
|
537
532
|
init) shift; cmd_init "$@" ;;
|
|
538
|
-
app) shift; cmd_app "$@" ;;
|
|
539
533
|
start) shift; cmd_start "$@" ;;
|
|
540
534
|
stop) cmd_stop ;;
|
|
541
535
|
restart) cmd_restart ;;
|