@longleash/cli 0.1.0-rc.4 → 0.1.0-rc.5
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/longleash.mjs +30 -2
- package/npm-shrinkwrap.json +2 -2
- package/package.json +1 -1
- package/runtime/app/dist/assets/{app-DvraQaIc.js → app-CsfqXy-8.js} +2 -2
- package/runtime/app/dist/assets/{welcome-CTTvis4A.js → welcome-D-UkLoke.js} +5 -5
- package/runtime/app/dist/build.json +1 -1
- package/runtime/app/dist/index.html +1 -1
- package/runtime/app/dist/welcome.html +1 -1
package/bin/longleash.mjs
CHANGED
|
@@ -1616,6 +1616,27 @@ function processAlive(pid) {
|
|
|
1616
1616
|
}
|
|
1617
1617
|
}
|
|
1618
1618
|
|
|
1619
|
+
// src/setup-input.ts
|
|
1620
|
+
function resolveAllowedRootAnswer(answer, defaultRoot) {
|
|
1621
|
+
const trimmed = answer.trim();
|
|
1622
|
+
if (/^(?:y|yes|n|no)$/i.test(trimmed)) {
|
|
1623
|
+
return {
|
|
1624
|
+
ok: false,
|
|
1625
|
+
message: `This question needs a folder path. Press Enter to use ${defaultRoot}, or type another existing folder.`
|
|
1626
|
+
};
|
|
1627
|
+
}
|
|
1628
|
+
try {
|
|
1629
|
+
const [root] = normalizeRoots([trimmed || defaultRoot]);
|
|
1630
|
+
if (!root) throw new Error("At least one allowed project directory is required.");
|
|
1631
|
+
return { ok: true, root };
|
|
1632
|
+
} catch (error) {
|
|
1633
|
+
return {
|
|
1634
|
+
ok: false,
|
|
1635
|
+
message: `That folder cannot be used: ${error instanceof Error ? error.message : String(error)}`
|
|
1636
|
+
};
|
|
1637
|
+
}
|
|
1638
|
+
}
|
|
1639
|
+
|
|
1619
1640
|
// src/service.ts
|
|
1620
1641
|
import {
|
|
1621
1642
|
chmodSync as chmodSync2,
|
|
@@ -2218,8 +2239,15 @@ async function setup(options) {
|
|
|
2218
2239
|
try {
|
|
2219
2240
|
console.log("\nLongLeash setup\n");
|
|
2220
2241
|
console.log("Agents remain on this laptop. Choose only folders where they may work.");
|
|
2221
|
-
const
|
|
2222
|
-
options.roots
|
|
2242
|
+
const defaultRoot = process.cwd();
|
|
2243
|
+
while (options.roots.length === 0) {
|
|
2244
|
+
const rootAnswer = await prompt.question(`Allowed project folder (press Enter for ${defaultRoot}): `);
|
|
2245
|
+
const resolved = resolveAllowedRootAnswer(rootAnswer, defaultRoot);
|
|
2246
|
+
if (resolved.ok) options.roots = [resolved.root];
|
|
2247
|
+
else console.log(`
|
|
2248
|
+
${resolved.message}
|
|
2249
|
+
`);
|
|
2250
|
+
}
|
|
2223
2251
|
console.log("\nConnectivity: hosted works away from home; LAN-only has no internet relay.");
|
|
2224
2252
|
const relayAnswer = await prompt.question("Relay [hosted / lan / wss://your-relay/ws] (hosted): ");
|
|
2225
2253
|
options.relay = relayAnswer.trim() || "hosted";
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@longleash/cli",
|
|
3
|
-
"version": "0.1.0-rc.
|
|
3
|
+
"version": "0.1.0-rc.5",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@longleash/cli",
|
|
9
|
-
"version": "0.1.0-rc.
|
|
9
|
+
"version": "0.1.0-rc.5",
|
|
10
10
|
"license": "MIT",
|
|
11
11
|
"os": [
|
|
12
12
|
"darwin",
|