thinkpool-pair 0.6.23 → 0.6.24
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/bridge.mjs +7 -4
- package/package.json +1 -1
package/bridge.mjs
CHANGED
|
@@ -184,9 +184,10 @@ const forceContinue = ownArgs.includes('--continue')
|
|
|
184
184
|
const forceFresh = ownArgs.includes('--fresh')
|
|
185
185
|
|
|
186
186
|
// One yes/no on the bridge's stderr (same channel as the agent picker).
|
|
187
|
-
|
|
187
|
+
// defaultYes=true → bare Enter means yes; false → Enter means no (opt-in).
|
|
188
|
+
const askYesNo = (q, defaultYes = true) => new Promise((resolve) => {
|
|
188
189
|
const rl = readline.createInterface({ input: process.stdin, output: process.stderr })
|
|
189
|
-
rl.question(q, (ans) => { rl.close(); resolve(!/^n/i.test(
|
|
190
|
+
rl.question(q, (ans) => { rl.close(); const a = String(ans).trim(); resolve(defaultYes ? !/^n/i.test(a) : /^y/i.test(a)) })
|
|
190
191
|
})
|
|
191
192
|
|
|
192
193
|
let attachedCmd = null, attachedArgs = [], continuing = false
|
|
@@ -227,10 +228,12 @@ if (process.stdin.isTTY && !headless && process.env.THINKPOOL_PAIR_AUTOUPDATE !=
|
|
|
227
228
|
let declined = false
|
|
228
229
|
try { declined = fs.existsSync(declineFile) } catch { /* noop */ }
|
|
229
230
|
if (!declined) {
|
|
230
|
-
|
|
231
|
+
// Default NO — a bare Enter keeps it foreground (the expected "I ran it in
|
|
232
|
+
// my terminal" behaviour); installing a background daemon is deliberate opt-in.
|
|
233
|
+
const yes = await askYesNo(`\n Run as a background service instead? It survives reboot + auto-updates,\n but runs detached — you'd stop it with 'uninstall-service', not Ctrl-C.\n Install background service? [y/N] `, false)
|
|
231
234
|
if (yes) {
|
|
232
235
|
svc.installService(room, attachedCmd ? [attachedCmd, ...attachedArgs] : [])
|
|
233
|
-
process.stderr.write(
|
|
236
|
+
process.stderr.write(`\n ◆ the background service is handling room ${room} now — you can close this terminal.\n ◆ STOP IT with: npx thinkpool-pair@latest uninstall-service ${room}\n (closing the terminal does NOT stop it — it's detached under launchd/systemd.)\n\n`)
|
|
234
237
|
process.exit(0) // hand off to the supervised service (no double bridge)
|
|
235
238
|
}
|
|
236
239
|
try { fs.mkdirSync(path.dirname(declineFile), { recursive: true }); fs.writeFileSync(declineFile, new Date().toISOString()) } catch { /* noop */ }
|