badgerclaw 0.1.5 → 0.1.7
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/dist/commands/login.js +11 -2
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/watch.d.ts +2 -0
- package/dist/commands/watch.js +29 -0
- package/dist/commands/watch.js.map +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/commands/login.js
CHANGED
|
@@ -14,6 +14,7 @@ const pkce_1 = require("../lib/pkce");
|
|
|
14
14
|
const auth_1 = require("../lib/auth");
|
|
15
15
|
const api_1 = require("../lib/api");
|
|
16
16
|
const autopair_1 = require("./autopair");
|
|
17
|
+
const child_process_1 = require("child_process");
|
|
17
18
|
const POLL_INTERVAL_MS = 2000;
|
|
18
19
|
const POLL_TIMEOUT_MS = 120000;
|
|
19
20
|
exports.loginCommand = new commander_1.Command('login')
|
|
@@ -59,12 +60,20 @@ exports.loginCommand = new commander_1.Command('login')
|
|
|
59
60
|
// Non-fatal: registration may fail but login succeeded
|
|
60
61
|
}
|
|
61
62
|
spinner.succeed(chalk_1.default.green(`Logged in as ${(0, auth_1.extractUsername)(user_id)}`));
|
|
62
|
-
// Auto-pair any pending
|
|
63
|
+
// Auto-pair any bots pending right now
|
|
63
64
|
const paired = await (0, autopair_1.runAutoPair)(true);
|
|
64
65
|
if (paired > 0) {
|
|
65
66
|
console.log(chalk_1.default.green(`✅ ${paired} bot(s) automatically paired to OpenClaw.`));
|
|
66
|
-
console.log(chalk_1.default.yellow('Run: openclaw gateway restart'));
|
|
67
|
+
console.log(chalk_1.default.yellow('Run: openclaw gateway restart to activate.'));
|
|
67
68
|
}
|
|
69
|
+
// Start background watch daemon so future pairs from the app are picked up automatically
|
|
70
|
+
const self = process.argv[1];
|
|
71
|
+
const watcher = (0, child_process_1.spawn)(process.execPath, [self, 'watch'], {
|
|
72
|
+
detached: true,
|
|
73
|
+
stdio: 'ignore',
|
|
74
|
+
});
|
|
75
|
+
watcher.unref();
|
|
76
|
+
console.log(chalk_1.default.dim('Background pair-watcher started (picks up new pairs from the iOS app automatically).'));
|
|
68
77
|
return;
|
|
69
78
|
}
|
|
70
79
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":";;;;;;AAAA,yCAAoC;AACpC,kDAA0B;AAC1B,8CAAsB;AACtB,gDAAwB;AACxB,4CAAoB;AACpB,oDAA4B;AAC5B,sCAA0E;AAC1E,sCAAyD;AACzD,oCAAsD;AACtD,yCAAyC;
|
|
1
|
+
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.watchCommand = void 0;
|
|
7
|
+
const commander_1 = require("commander");
|
|
8
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
9
|
+
const auth_1 = require("../lib/auth");
|
|
10
|
+
const autopair_1 = require("./autopair");
|
|
11
|
+
const POLL_INTERVAL_MS = 10000;
|
|
12
|
+
exports.watchCommand = new commander_1.Command('watch')
|
|
13
|
+
.description('Watch for pending bot pairs and connect them automatically (runs until stopped)')
|
|
14
|
+
.action(async () => {
|
|
15
|
+
const auth = (0, auth_1.readAuth)();
|
|
16
|
+
if (!auth) {
|
|
17
|
+
console.log(chalk_1.default.yellow('Not logged in. Run `badgerclaw login` first.'));
|
|
18
|
+
process.exit(1);
|
|
19
|
+
}
|
|
20
|
+
console.log(chalk_1.default.green('👀 Watching for pending bot pairs... (Ctrl+C to stop)'));
|
|
21
|
+
console.log(chalk_1.default.dim(`Polling every ${POLL_INTERVAL_MS / 1000}s`));
|
|
22
|
+
// Run once immediately
|
|
23
|
+
await (0, autopair_1.runAutoPair)(false);
|
|
24
|
+
// Then poll on interval
|
|
25
|
+
setInterval(async () => {
|
|
26
|
+
await (0, autopair_1.runAutoPair)(false);
|
|
27
|
+
}, POLL_INTERVAL_MS);
|
|
28
|
+
});
|
|
29
|
+
//# sourceMappingURL=watch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"watch.js","sourceRoot":"","sources":["../../src/commands/watch.ts"],"names":[],"mappings":";;;;;;AAAA,yCAAoC;AACpC,kDAA0B;AAC1B,sCAAuC;AACvC,yCAAyC;AAEzC,MAAM,gBAAgB,GAAG,KAAM,CAAC;AAEnB,QAAA,YAAY,GAAG,IAAI,mBAAO,CAAC,OAAO,CAAC;KAC7C,WAAW,CAAC,iFAAiF,CAAC;KAC9F,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,IAAI,GAAG,IAAA,eAAQ,GAAE,CAAC;IACxB,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,8CAA8C,CAAC,CAAC,CAAC;QAC1E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC,CAAC;IAClF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,iBAAiB,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC;IAEpE,uBAAuB;IACvB,MAAM,IAAA,sBAAW,EAAC,KAAK,CAAC,CAAC;IAEzB,wBAAwB;IACxB,WAAW,CAAC,KAAK,IAAI,EAAE;QACrB,MAAM,IAAA,sBAAW,EAAC,KAAK,CAAC,CAAC;IAC3B,CAAC,EAAE,gBAAgB,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -7,6 +7,7 @@ const logout_1 = require("./commands/logout");
|
|
|
7
7
|
const status_1 = require("./commands/status");
|
|
8
8
|
const bot_1 = require("./commands/bot");
|
|
9
9
|
const autopair_1 = require("./commands/autopair");
|
|
10
|
+
const watch_1 = require("./commands/watch");
|
|
10
11
|
const program = new commander_1.Command();
|
|
11
12
|
program
|
|
12
13
|
.name('badgerclaw')
|
|
@@ -17,5 +18,6 @@ program.addCommand(logout_1.logoutCommand);
|
|
|
17
18
|
program.addCommand(status_1.statusCommand);
|
|
18
19
|
program.addCommand(bot_1.botCommand);
|
|
19
20
|
program.addCommand(autopair_1.autopairCommand);
|
|
21
|
+
program.addCommand(watch_1.watchCommand);
|
|
20
22
|
program.parse(process.argv);
|
|
21
23
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAEA,yCAAoC;AACpC,4CAAgD;AAChD,8CAAkD;AAClD,8CAAkD;AAClD,wCAA4C;AAC5C,kDAAsD;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAEA,yCAAoC;AACpC,4CAAgD;AAChD,8CAAkD;AAClD,8CAAkD;AAClD,wCAA4C;AAC5C,kDAAsD;AACtD,4CAAgD;AAEhD,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,YAAY,CAAC;KAClB,WAAW,CAAC,6CAA6C,CAAC;KAC1D,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC;AAE/C,OAAO,CAAC,UAAU,CAAC,oBAAY,CAAC,CAAC;AACjC,OAAO,CAAC,UAAU,CAAC,sBAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,sBAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,gBAAU,CAAC,CAAC;AAC/B,OAAO,CAAC,UAAU,CAAC,0BAAe,CAAC,CAAC;AACpC,OAAO,CAAC,UAAU,CAAC,oBAAY,CAAC,CAAC;AAEjC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC"}
|