@remotepilot/cli 0.1.0
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/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +70 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/list.d.ts +5 -0
- package/dist/commands/list.d.ts.map +1 -0
- package/dist/commands/list.js +75 -0
- package/dist/commands/list.js.map +1 -0
- package/dist/commands/pair.d.ts +6 -0
- package/dist/commands/pair.d.ts.map +1 -0
- package/dist/commands/pair.js +114 -0
- package/dist/commands/pair.js.map +1 -0
- package/dist/commands/restart.d.ts +5 -0
- package/dist/commands/restart.d.ts.map +1 -0
- package/dist/commands/restart.js +67 -0
- package/dist/commands/restart.js.map +1 -0
- package/dist/commands/setup.d.ts +8 -0
- package/dist/commands/setup.d.ts.map +1 -0
- package/dist/commands/setup.js +387 -0
- package/dist/commands/setup.js.map +1 -0
- package/dist/commands/start.d.ts +6 -0
- package/dist/commands/start.d.ts.map +1 -0
- package/dist/commands/start.js +164 -0
- package/dist/commands/start.js.map +1 -0
- package/dist/commands/status.d.ts +5 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +130 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/stop.d.ts +5 -0
- package/dist/commands/stop.d.ts.map +1 -0
- package/dist/commands/stop.js +67 -0
- package/dist/commands/stop.js.map +1 -0
- package/dist/commands/update.d.ts +2 -0
- package/dist/commands/update.d.ts.map +1 -0
- package/dist/commands/update.js +8 -0
- package/dist/commands/update.js.map +1 -0
- package/dist/daemon-manager.ps1 +114 -0
- package/dist/daemon.d.ts +14 -0
- package/dist/daemon.d.ts.map +1 -0
- package/dist/daemon.js +216 -0
- package/dist/daemon.js.map +1 -0
- package/dist/daemon.log +0 -0
- package/dist/daemon.pid +0 -0
- package/dist/utils/update-check.d.ts +3 -0
- package/dist/utils/update-check.d.ts.map +1 -0
- package/dist/utils/update-check.js +112 -0
- package/dist/utils/update-check.js.map +1 -0
- package/package.json +65 -0
|
@@ -0,0 +1,112 @@
|
|
|
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.checkForUpdate = checkForUpdate;
|
|
7
|
+
exports.performUpdate = performUpdate;
|
|
8
|
+
const https_1 = __importDefault(require("https"));
|
|
9
|
+
const child_process_1 = require("child_process");
|
|
10
|
+
const PACKAGE_NAME = "@remotepilot/cli";
|
|
11
|
+
const REGISTRY_URL = `https://registry.npmjs.org/${PACKAGE_NAME}/latest`;
|
|
12
|
+
async function checkForUpdate() {
|
|
13
|
+
try {
|
|
14
|
+
const currentVersion = getCurrentVersion();
|
|
15
|
+
if (!currentVersion)
|
|
16
|
+
return;
|
|
17
|
+
const latestVersion = await fetchLatestVersion();
|
|
18
|
+
if (!latestVersion)
|
|
19
|
+
return;
|
|
20
|
+
if (isNewer(latestVersion, currentVersion)) {
|
|
21
|
+
console.log("");
|
|
22
|
+
console.log(` ⬆️ Update available: ${latestVersion} (current: ${currentVersion})`);
|
|
23
|
+
console.log(` Run: npx ${PACKAGE_NAME}@latest setup`);
|
|
24
|
+
console.log("");
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
catch {
|
|
28
|
+
// Silently ignore — update check is non-critical
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
async function performUpdate() {
|
|
32
|
+
console.log("🔄 Checking for updates...");
|
|
33
|
+
const currentVersion = getCurrentVersion();
|
|
34
|
+
const latestVersion = await fetchLatestVersion();
|
|
35
|
+
if (!latestVersion) {
|
|
36
|
+
console.log("❌ Could not fetch latest version from npm registry");
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
console.log(` Current: ${currentVersion || "unknown"}`);
|
|
40
|
+
console.log(` Latest: ${latestVersion}`);
|
|
41
|
+
if (currentVersion && !isNewer(latestVersion, currentVersion)) {
|
|
42
|
+
console.log("✅ Already up to date!");
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
console.log("📦 Downloading latest version...");
|
|
46
|
+
try {
|
|
47
|
+
(0, child_process_1.execSync)(`npm install -g ${PACKAGE_NAME}@latest`, { stdio: "inherit" });
|
|
48
|
+
console.log("");
|
|
49
|
+
console.log(`✅ Updated to ${latestVersion}!`);
|
|
50
|
+
console.log(" Restart the daemon with: remotepilot restart");
|
|
51
|
+
}
|
|
52
|
+
catch (error) {
|
|
53
|
+
console.log("❌ Update failed. Try running with sudo:");
|
|
54
|
+
console.log(` sudo npm install -g ${PACKAGE_NAME}@latest`);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
function getCurrentVersion() {
|
|
58
|
+
try {
|
|
59
|
+
// Try to read from package.json in the same directory
|
|
60
|
+
const pkgPath = require.resolve("../../package.json");
|
|
61
|
+
const pkg = require(pkgPath);
|
|
62
|
+
return pkg.version || null;
|
|
63
|
+
}
|
|
64
|
+
catch {
|
|
65
|
+
try {
|
|
66
|
+
// Fallback: read from npm global
|
|
67
|
+
const output = (0, child_process_1.execSync)(`npm list -g ${PACKAGE_NAME} --depth=0 2>/dev/null`, {
|
|
68
|
+
encoding: "utf-8",
|
|
69
|
+
});
|
|
70
|
+
const match = output.match(/@remotepilot\/cli@(\d+\.\d+\.\d+)/);
|
|
71
|
+
return match ? match[1] : null;
|
|
72
|
+
}
|
|
73
|
+
catch {
|
|
74
|
+
return null;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
async function fetchLatestVersion() {
|
|
79
|
+
return new Promise((resolve) => {
|
|
80
|
+
const req = https_1.default.get(REGISTRY_URL, { timeout: 5000 }, (res) => {
|
|
81
|
+
if (res.statusCode !== 200) {
|
|
82
|
+
resolve(null);
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
let data = "";
|
|
86
|
+
res.on("data", (chunk) => (data += chunk));
|
|
87
|
+
res.on("end", () => {
|
|
88
|
+
try {
|
|
89
|
+
const pkg = JSON.parse(data);
|
|
90
|
+
resolve(pkg.version || null);
|
|
91
|
+
}
|
|
92
|
+
catch {
|
|
93
|
+
resolve(null);
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
});
|
|
97
|
+
req.on("error", () => resolve(null));
|
|
98
|
+
req.on("timeout", () => { req.destroy(); resolve(null); });
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
function isNewer(latest, current) {
|
|
102
|
+
const latestParts = latest.split(".").map(Number);
|
|
103
|
+
const currentParts = current.split(".").map(Number);
|
|
104
|
+
for (let i = 0; i < 3; i++) {
|
|
105
|
+
if ((latestParts[i] || 0) > (currentParts[i] || 0))
|
|
106
|
+
return true;
|
|
107
|
+
if ((latestParts[i] || 0) < (currentParts[i] || 0))
|
|
108
|
+
return false;
|
|
109
|
+
}
|
|
110
|
+
return false;
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=update-check.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-check.js","sourceRoot":"","sources":["../../src/utils/update-check.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@remotepilot/cli",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "RemotePilot — Connect your phone to any computer. Pair via QR code, run coding agents from your phone.",
|
|
5
|
+
"main": "./dist/index.js",
|
|
6
|
+
"types": "./dist/index.d.ts",
|
|
7
|
+
"bin": {
|
|
8
|
+
"remotepilot": "dist/cli.js"
|
|
9
|
+
},
|
|
10
|
+
"scripts": {
|
|
11
|
+
"build": "tsc",
|
|
12
|
+
"prepublishOnly": "npm run build",
|
|
13
|
+
"postinstall": "node -e \"console.log('✅ RemotePilot CLI installed! Run: remotepilot setup')\"",
|
|
14
|
+
"test": "vitest run",
|
|
15
|
+
"test:watch": "vitest",
|
|
16
|
+
"lint": "eslint src/",
|
|
17
|
+
"clean": "rm -rf dist node_modules"
|
|
18
|
+
},
|
|
19
|
+
"dependencies": {
|
|
20
|
+
"@remotepilot/protocol": "^0.1.0",
|
|
21
|
+
"@remotepilot/schemas": "^0.1.0",
|
|
22
|
+
"@remotepilot/crypto": "^0.1.0",
|
|
23
|
+
"@remotepilot/core": "^0.1.0",
|
|
24
|
+
"@remotepilot/gateway": "^0.1.0",
|
|
25
|
+
"@remotepilot/windows-service": "^0.1.0",
|
|
26
|
+
"@remotepilot/windows-process": "^0.1.0",
|
|
27
|
+
"commander": "^11.0.0",
|
|
28
|
+
"qrcode": "^1.5.3",
|
|
29
|
+
"ws": "^8.16.0"
|
|
30
|
+
},
|
|
31
|
+
"devDependencies": {
|
|
32
|
+
"@types/node": "^20.0.0",
|
|
33
|
+
"@types/qrcode": "^1.5.0",
|
|
34
|
+
"@types/ws": "^8.5.0",
|
|
35
|
+
"typescript": "^5.3.0",
|
|
36
|
+
"vitest": "^1.0.0"
|
|
37
|
+
},
|
|
38
|
+
"files": [
|
|
39
|
+
"dist",
|
|
40
|
+
"README.md",
|
|
41
|
+
"LICENSE"
|
|
42
|
+
],
|
|
43
|
+
"keywords": [
|
|
44
|
+
"terminal",
|
|
45
|
+
"ssh",
|
|
46
|
+
"remote",
|
|
47
|
+
"coding-agent",
|
|
48
|
+
"claude",
|
|
49
|
+
"codex",
|
|
50
|
+
"opencode",
|
|
51
|
+
"ai",
|
|
52
|
+
"mobile",
|
|
53
|
+
"pairing"
|
|
54
|
+
],
|
|
55
|
+
"repository": {
|
|
56
|
+
"type": "git",
|
|
57
|
+
"url": "git+https://github.com/Philip2050/remotepilot.git",
|
|
58
|
+
"directory": "host/cli"
|
|
59
|
+
},
|
|
60
|
+
"bugs": {
|
|
61
|
+
"url": "https://github.com/Philip2050/remotepilot/issues"
|
|
62
|
+
},
|
|
63
|
+
"homepage": "https://remotepilot.dev",
|
|
64
|
+
"license": "MIT"
|
|
65
|
+
}
|