@bd7pil/ocrc 0.13.6 → 0.14.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/README.md +1 -1
- package/dist/cli/index.js +6 -6
- package/dist/cli/service.js +85 -89
- package/dist/cli/service.js.map +1 -1
- package/dist/connectivity/pairing.js +1 -1
- package/dist/connectivity/pairing.js.map +1 -1
- package/dist/transport/telegram/handlers.js +2 -2
- package/dist/transport/telegram/handlers.js.map +1 -1
- package/package.json +1 -1
- package/web/dist/_app/immutable/chunks/{B_Up4G-w.js → TuGPYaVf.js} +1 -1
- package/web/dist/_app/immutable/chunks/{xll9JxnZ.js → _PK_enp9.js} +1 -1
- package/web/dist/_app/immutable/chunks/{dWLK5ge3.js → ewK-93nZ.js} +1 -1
- package/web/dist/_app/immutable/entry/{app.9ijsXLc0.js → app.BbCGOY--.js} +2 -2
- package/web/dist/_app/immutable/entry/start.CtgN6Joj.js +1 -0
- package/web/dist/_app/immutable/nodes/{0.DkBquZPI.js → 0.C6UjvApA.js} +3 -3
- package/web/dist/_app/immutable/nodes/{1.C6EzREMx.js → 1.duF3KASE.js} +1 -1
- package/web/dist/_app/immutable/nodes/{2.BbDciOLg.js → 2.BWOyrvG9.js} +1 -1
- package/web/dist/_app/immutable/nodes/{3.CM7s87sY.js → 3.AtkoY52t.js} +1 -1
- package/web/dist/_app/version.json +1 -1
- package/web/dist/index.html +9 -9
- package/web/dist/service-worker.js +1 -1
- package/web/dist/_app/immutable/entry/start.CaiMGY8c.js +0 -1
package/README.md
CHANGED
|
@@ -65,7 +65,7 @@ required**:
|
|
|
65
65
|
```
|
|
66
66
|
2. **From Telegram** (once the bot is running): send `/pair`, open the link.
|
|
67
67
|
|
|
68
|
-
Links carry a *pending* token — valid **
|
|
68
|
+
Links carry a *pending* token — valid **1 minute, single use**, and issuing
|
|
69
69
|
a new one invalidates the old (refresh = new code). The device exchanges it
|
|
70
70
|
for the real access token on first open; the token never appears in a URL
|
|
71
71
|
again. Already-paired sessions can onboard further devices from the web
|
package/dist/cli/index.js
CHANGED
|
@@ -24,12 +24,12 @@ COMMANDS:
|
|
|
24
24
|
install Install as opencode plugin
|
|
25
25
|
uninstall Remove from opencode plugin config
|
|
26
26
|
pair Show QR + URL to pair a device
|
|
27
|
-
start <dir> Start the production instance
|
|
28
|
-
|
|
29
|
-
restore Re-launch the last instance
|
|
30
|
-
stop Stop it (
|
|
31
|
-
restart [dir] Restart it
|
|
32
|
-
status Show instance state (server /
|
|
27
|
+
start <dir> Start the production instance under its supervisor
|
|
28
|
+
(crash auto-restart; env from ~/.ocrc/config.env)
|
|
29
|
+
restore Re-launch the last instance (the @reboot cron calls this)
|
|
30
|
+
stop Stop it (supervisor first, then the instance)
|
|
31
|
+
restart [dir] Restart it
|
|
32
|
+
status Show instance state (server / supervisor / web panel / workdir)
|
|
33
33
|
host Run standalone against an ACP agent (no opencode; OCRC_ACP_CMD)
|
|
34
34
|
--help, -h Show this help
|
|
35
35
|
`;
|
package/dist/cli/service.js
CHANGED
|
@@ -1,19 +1,23 @@
|
|
|
1
1
|
// service.ts — `ocrc start|stop|restart|status|restore`: production instance
|
|
2
|
-
// lifecycle,
|
|
2
|
+
// lifecycle, matching octg's ergonomics: ONE command, supervision built in.
|
|
3
3
|
//
|
|
4
|
-
//
|
|
5
|
-
//
|
|
6
|
-
//
|
|
7
|
-
//
|
|
8
|
-
//
|
|
9
|
-
//
|
|
10
|
-
//
|
|
11
|
-
//
|
|
12
|
-
//
|
|
4
|
+
// ocrc start <dir> spawn a detached supervisor (adopt-or-spawn, crash
|
|
5
|
+
// auto-restart, .stop-file graceful stop) and exit —
|
|
6
|
+
// exactly what octg's start did by generating run-N.sh
|
|
7
|
+
// ocrc stop TERM the supervisor (its cleanup chain takes the
|
|
8
|
+
// instance down), port-level fallback, SIGKILL last
|
|
9
|
+
// ocrc restart [dir] stop + start
|
|
10
|
+
// ocrc status server / supervisor / web panel / workdir
|
|
11
|
+
// ocrc restore idempotent revive — reads last.json; the @reboot cron
|
|
12
|
+
// line (`ocrc restore`) is the only boot-restore path
|
|
13
|
+
//
|
|
14
|
+
// The plugin cannot supervise its own host; the supervisor is this CLI
|
|
15
|
+
// process running --supervisor (hidden arg) in a detached self-spawn.
|
|
13
16
|
import { spawn, spawnSync } from 'node:child_process';
|
|
14
17
|
import { existsSync, readFileSync, writeFileSync, mkdirSync, appendFileSync, openSync, unlinkSync } from 'node:fs';
|
|
15
18
|
import { join } from 'node:path';
|
|
16
19
|
import { homedir } from 'node:os';
|
|
20
|
+
import { fileURLToPath } from 'node:url';
|
|
17
21
|
const OCRC_HOME = process.env.OCRC_HOME ?? join(homedir(), '.ocrc');
|
|
18
22
|
const RUN_DIR = join(OCRC_HOME, 'run');
|
|
19
23
|
const CONFIG_FILE = join(OCRC_HOME, 'config.env');
|
|
@@ -80,12 +84,12 @@ function alive(pid) {
|
|
|
80
84
|
return false;
|
|
81
85
|
}
|
|
82
86
|
}
|
|
83
|
-
function pidFilePath(port
|
|
84
|
-
return join(RUN_DIR, `${
|
|
87
|
+
function pidFilePath(port) {
|
|
88
|
+
return join(RUN_DIR, `${port}.pid`);
|
|
85
89
|
}
|
|
86
|
-
function readPid(port
|
|
90
|
+
function readPid(port) {
|
|
87
91
|
try {
|
|
88
|
-
const raw = readFileSync(pidFilePath(port
|
|
92
|
+
const raw = readFileSync(pidFilePath(port), 'utf-8').trim();
|
|
89
93
|
const pid = Number(raw);
|
|
90
94
|
return Number.isFinite(pid) && pid > 0 ? pid : null;
|
|
91
95
|
}
|
|
@@ -116,11 +120,10 @@ function lastWorkDir() {
|
|
|
116
120
|
return null;
|
|
117
121
|
}
|
|
118
122
|
}
|
|
119
|
-
// ──
|
|
120
|
-
async function
|
|
123
|
+
// ── supervisor (the run-N.sh equivalent): an internal, detached self-spawn ──
|
|
124
|
+
async function supervisorLoop(cfg, workDir) {
|
|
121
125
|
const stopFile = join(RUN_DIR, `.stop-${cfg.port}`);
|
|
122
|
-
const
|
|
123
|
-
let child = null;
|
|
126
|
+
const pidFile = pidFilePath(cfg.port);
|
|
124
127
|
let childPid = null;
|
|
125
128
|
let stopping = false;
|
|
126
129
|
const killChild = () => {
|
|
@@ -138,56 +141,55 @@ async function watchLoop(cfg, workDir) {
|
|
|
138
141
|
}
|
|
139
142
|
catch { /* absent */ }
|
|
140
143
|
try {
|
|
141
|
-
unlinkSync(
|
|
144
|
+
unlinkSync(pidFile);
|
|
142
145
|
}
|
|
143
146
|
catch { /* absent */ }
|
|
144
|
-
console.log(`[
|
|
147
|
+
console.log(`[supervisor:${cfg.port}] stopped`);
|
|
145
148
|
process.exit(0);
|
|
146
149
|
};
|
|
147
150
|
process.on('SIGTERM', () => { stopping = true; killChild(); });
|
|
148
151
|
process.on('SIGINT', () => { stopping = true; killChild(); });
|
|
149
152
|
mkdirSync(RUN_DIR, { recursive: true });
|
|
150
|
-
writeFileSync(
|
|
151
|
-
console.log(`[
|
|
153
|
+
writeFileSync(pidFile, String(process.pid));
|
|
154
|
+
console.log(`[supervisor:${cfg.port}] supervising (pid ${process.pid}, workdir ${workDir}; stop: ocrc stop)`);
|
|
152
155
|
while (!stopping) {
|
|
153
156
|
if (existsSync(stopFile)) {
|
|
154
|
-
console.log(`[
|
|
157
|
+
console.log(`[supervisor:${cfg.port}] stop file detected`);
|
|
155
158
|
cleanupAndExit();
|
|
156
159
|
}
|
|
157
160
|
// Adopt an already-listening instance (octg takeover semantics)…
|
|
158
161
|
const existing = pidOnPort(cfg.port);
|
|
159
162
|
if (existing !== null) {
|
|
160
|
-
console.log(`[
|
|
163
|
+
console.log(`[supervisor:${cfg.port}] adopted existing opencode (pid ${existing})`);
|
|
161
164
|
childPid = existing;
|
|
162
165
|
while (alive(childPid) && !existsSync(stopFile) && !stopping)
|
|
163
166
|
await sleep(1000);
|
|
164
167
|
}
|
|
165
168
|
else {
|
|
166
|
-
// …or spawn our own attached child and await its exit
|
|
169
|
+
// …or spawn our own attached child and await its exit.
|
|
167
170
|
if (!existsSync(cfg.bin)) {
|
|
168
|
-
console.error(`[
|
|
171
|
+
console.error(`[supervisor:${cfg.port}] opencode binary missing: ${cfg.bin}`);
|
|
169
172
|
process.exit(1);
|
|
170
173
|
}
|
|
171
|
-
appendFileSync(PROD_LOG, `\n[
|
|
172
|
-
child = spawn(cfg.bin, [cfg.mode, '--port', cfg.port, `--hostname=${cfg.host}`], {
|
|
174
|
+
appendFileSync(PROD_LOG, `\n[supervisor ${new Date().toISOString()}] spawn ${cfg.mode} :${cfg.port}\n`);
|
|
175
|
+
const child = spawn(cfg.bin, [cfg.mode, '--port', cfg.port, `--hostname=${cfg.host}`], {
|
|
173
176
|
cwd: workDir,
|
|
174
177
|
stdio: ['ignore', 'inherit', 'inherit'],
|
|
175
178
|
env: { ...process.env, ...cfg.env },
|
|
176
179
|
});
|
|
177
180
|
childPid = child.pid ?? null;
|
|
178
|
-
console.log(`[
|
|
181
|
+
console.log(`[supervisor:${cfg.port}] started opencode (pid ${childPid})`);
|
|
179
182
|
const outcome = await new Promise((resolve) => {
|
|
180
183
|
child.once('exit', (c, sig) => resolve({ code: c, signal: sig ?? null }));
|
|
181
184
|
});
|
|
182
|
-
child = null;
|
|
183
185
|
childPid = null;
|
|
184
186
|
if (stopping)
|
|
185
187
|
break;
|
|
186
188
|
if (!shouldRestart(outcome.code, outcome.signal, existsSync(stopFile))) {
|
|
187
|
-
console.log(`[
|
|
189
|
+
console.log(`[supervisor:${cfg.port}] opencode exited intentionally (code=${outcome.code ?? '-'} signal=${outcome.signal ?? '-'})`);
|
|
188
190
|
cleanupAndExit();
|
|
189
191
|
}
|
|
190
|
-
console.log(`[
|
|
192
|
+
console.log(`[supervisor:${cfg.port}] opencode CRASHED (code=${outcome.code ?? '-'} signal=${outcome.signal ?? '-'}); restarting in ${cfg.watchDelayMs / 1000}s`);
|
|
191
193
|
}
|
|
192
194
|
if (stopping)
|
|
193
195
|
break;
|
|
@@ -197,52 +199,59 @@ async function watchLoop(cfg, workDir) {
|
|
|
197
199
|
}
|
|
198
200
|
// ── commands ────────────────────────────────────────────────────────────────
|
|
199
201
|
export async function main(argv) {
|
|
200
|
-
//
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
202
|
+
// Internal entry: the detached supervisor process itself.
|
|
203
|
+
if (argv[0] === '--supervisor') {
|
|
204
|
+
const workDir = argv[1] ?? '';
|
|
205
|
+
if (!workDir || !existsSync(workDir)) {
|
|
206
|
+
console.error('[supervisor] invalid workdir');
|
|
207
|
+
process.exit(1);
|
|
208
|
+
}
|
|
209
|
+
await supervisorLoop(loadConfig(), workDir);
|
|
210
|
+
return;
|
|
211
|
+
}
|
|
212
|
+
// `--watch` is accepted and IGNORED (pre-0.14.0 muscle memory): supervision
|
|
213
|
+
// is always on, octg-style. The first non-flag word is the command.
|
|
214
|
+
const cmd = argv.find((a) => !a.startsWith('--')) ?? '';
|
|
215
|
+
const rest = (() => {
|
|
216
|
+
const i = argv.findIndex((a) => !a.startsWith('--'));
|
|
217
|
+
return i >= 0 ? argv.slice(i + 1) : [];
|
|
218
|
+
})();
|
|
205
219
|
const cfg = loadConfig();
|
|
206
220
|
const webPort = readConfigEnv().OCRC_WEB_PORT ?? '4099';
|
|
207
221
|
if (cmd === 'start') {
|
|
208
222
|
const workDir = rest[0] ?? lastWorkDir();
|
|
209
223
|
if (!workDir || !existsSync(workDir)) {
|
|
210
|
-
console.error('usage: ocrc start
|
|
224
|
+
console.error('usage: ocrc start <work_dir>');
|
|
211
225
|
process.exit(1);
|
|
212
226
|
}
|
|
213
|
-
if (watch) {
|
|
214
|
-
// One watcher per port: a live watch pid file refuses to double-start.
|
|
215
|
-
const wpid = readPid(cfg.port, 'watch');
|
|
216
|
-
if (wpid !== null && alive(wpid)) {
|
|
217
|
-
console.log(`watcher already running (pid ${wpid}) — nothing to do`);
|
|
218
|
-
return;
|
|
219
|
-
}
|
|
220
|
-
await watchLoop(cfg, workDir);
|
|
221
|
-
return;
|
|
222
|
-
}
|
|
223
227
|
const existing = pidOnPort(cfg.port);
|
|
224
228
|
if (existing !== null) {
|
|
225
229
|
console.log(`already running (pid ${existing}, port ${cfg.port}) — nothing to do`);
|
|
226
230
|
return;
|
|
227
231
|
}
|
|
232
|
+
const supPid = readPid(cfg.port);
|
|
233
|
+
if (supPid !== null && alive(supPid)) {
|
|
234
|
+
console.log(`supervisor already running (pid ${supPid}) — it will adopt or restart the instance`);
|
|
235
|
+
return;
|
|
236
|
+
}
|
|
228
237
|
if (!existsSync(cfg.bin)) {
|
|
229
238
|
console.error(`opencode binary not found: ${cfg.bin} (set OCRC_SERVER_BIN in ${CONFIG_FILE})`);
|
|
230
239
|
process.exit(1);
|
|
231
240
|
}
|
|
232
241
|
mkdirSync(RUN_DIR, { recursive: true });
|
|
233
242
|
writeFileSync(join(RUN_DIR, 'last.json'), JSON.stringify({ workDir, port: cfg.port }, null, 2));
|
|
234
|
-
//
|
|
235
|
-
// (
|
|
243
|
+
// octg parity: `start` hands off to a detached supervisor and returns.
|
|
244
|
+
// Spawn SELF (--supervisor) detached; stdout/stderr append to prod.log.
|
|
245
|
+
const self = fileURLToPath(import.meta.url);
|
|
236
246
|
const out = openSync(PROD_LOG, 'a');
|
|
237
|
-
const child = spawn(
|
|
238
|
-
cwd: workDir,
|
|
247
|
+
const child = spawn(process.execPath, [self, '--supervisor', workDir], {
|
|
239
248
|
detached: true,
|
|
240
249
|
stdio: ['ignore', out, out],
|
|
241
250
|
env: { ...process.env, ...cfg.env },
|
|
242
251
|
});
|
|
243
252
|
child.unref();
|
|
244
|
-
appendFileSync(PROD_LOG, `\n[ocrc start ${new Date().toISOString()}] pid=${child.pid} workdir=${workDir}\n`);
|
|
245
|
-
console.log(`starting opencode
|
|
253
|
+
appendFileSync(PROD_LOG, `\n[ocrc start ${new Date().toISOString()}] supervisor pid=${child.pid} workdir=${workDir}\n`);
|
|
254
|
+
console.log(`starting supervised opencode on :${cfg.port} (supervisor pid ${child.pid}, workdir ${workDir})…`);
|
|
246
255
|
if (!(await waitPort(cfg.port, true, 30))) {
|
|
247
256
|
console.error(`port ${cfg.port} did not come up in 30s — check ${PROD_LOG}`);
|
|
248
257
|
process.exit(1);
|
|
@@ -252,50 +261,41 @@ export async function main(argv) {
|
|
|
252
261
|
return;
|
|
253
262
|
}
|
|
254
263
|
if (cmd === 'restore') {
|
|
255
|
-
// Idempotent revive: nothing to do when the instance
|
|
256
|
-
//
|
|
264
|
+
// Idempotent revive: nothing to do when the instance is already up —
|
|
265
|
+
// this runs every boot from the @reboot cron line.
|
|
257
266
|
if (pidOnPort(cfg.port) !== null) {
|
|
258
267
|
console.log(`already running (port ${cfg.port}) — nothing to restore`);
|
|
259
268
|
return;
|
|
260
269
|
}
|
|
261
270
|
const workDir = lastWorkDir();
|
|
262
271
|
if (!workDir) {
|
|
263
|
-
console.error('no previous work_dir on record — usage: ocrc start
|
|
272
|
+
console.error('no previous work_dir on record — usage: ocrc start <work_dir> first');
|
|
264
273
|
process.exit(1);
|
|
265
274
|
}
|
|
266
|
-
console.log(`restoring
|
|
267
|
-
await main(['start',
|
|
275
|
+
console.log(`restoring supervised instance for ${workDir}…`);
|
|
276
|
+
await main(['start', workDir]);
|
|
268
277
|
return;
|
|
269
278
|
}
|
|
270
279
|
if (cmd === 'stop') {
|
|
271
|
-
// The
|
|
272
|
-
const
|
|
273
|
-
if (
|
|
274
|
-
console.log(`stopping
|
|
280
|
+
// The supervisor owns the child via its cleanup chain — TERM it first.
|
|
281
|
+
const supPid = readPid(cfg.port);
|
|
282
|
+
if (supPid !== null && alive(supPid)) {
|
|
283
|
+
console.log(`stopping supervisor (pid ${supPid})…`);
|
|
275
284
|
try {
|
|
276
|
-
process.kill(
|
|
285
|
+
process.kill(supPid, 'SIGTERM');
|
|
277
286
|
}
|
|
278
287
|
catch { /* gone */ }
|
|
279
|
-
// Watcher's cleanup chain: TERM child → free port → remove files.
|
|
280
288
|
for (let i = 0; i < 20; i++) {
|
|
281
|
-
if (!alive(
|
|
289
|
+
if (!alive(supPid))
|
|
282
290
|
break;
|
|
283
291
|
await sleep(500);
|
|
284
292
|
}
|
|
285
293
|
}
|
|
286
|
-
|
|
287
|
-
if (pid !== null && !alive(pid))
|
|
288
|
-
pid = null;
|
|
289
|
-
if (pid === null)
|
|
290
|
-
pid = pidOnPort(cfg.port);
|
|
294
|
+
const pid = pidOnPort(cfg.port);
|
|
291
295
|
if (pid === null) {
|
|
292
296
|
console.log(`not running (nothing on port ${cfg.port})`);
|
|
293
297
|
try {
|
|
294
|
-
unlinkSync(pidFilePath(cfg.port
|
|
295
|
-
}
|
|
296
|
-
catch { /* already gone */ }
|
|
297
|
-
try {
|
|
298
|
-
unlinkSync(pidFilePath(cfg.port, 'watch'));
|
|
298
|
+
unlinkSync(pidFilePath(cfg.port));
|
|
299
299
|
}
|
|
300
300
|
catch { /* already gone */ }
|
|
301
301
|
return;
|
|
@@ -314,7 +314,7 @@ export async function main(argv) {
|
|
|
314
314
|
await waitPort(cfg.port, false, 5);
|
|
315
315
|
}
|
|
316
316
|
try {
|
|
317
|
-
unlinkSync(pidFilePath(cfg.port
|
|
317
|
+
unlinkSync(pidFilePath(cfg.port));
|
|
318
318
|
}
|
|
319
319
|
catch { /* already gone */ }
|
|
320
320
|
console.log(pidOnPort(cfg.port) === null ? `stopped (port ${cfg.port} free)` : `port ${cfg.port} still busy — check manually`);
|
|
@@ -326,29 +326,25 @@ export async function main(argv) {
|
|
|
326
326
|
console.error('no previous work_dir — usage: ocrc restart <work_dir>');
|
|
327
327
|
process.exit(1);
|
|
328
328
|
}
|
|
329
|
-
const wasWatched = (() => {
|
|
330
|
-
const wpid = readPid(cfg.port, 'watch');
|
|
331
|
-
return wpid !== null && alive(wpid);
|
|
332
|
-
})();
|
|
333
329
|
await main(['stop']);
|
|
334
|
-
await main(
|
|
330
|
+
await main(['start', workDir]);
|
|
335
331
|
return;
|
|
336
332
|
}
|
|
337
333
|
if (cmd === 'status') {
|
|
338
334
|
const portPid = pidOnPort(cfg.port);
|
|
339
335
|
const ver = spawnSync(cfg.bin, ['--version'], { encoding: 'utf-8' }).stdout?.trim();
|
|
340
|
-
const
|
|
341
|
-
console.log(`binary
|
|
342
|
-
console.log(`server
|
|
343
|
-
console.log(`
|
|
336
|
+
const supPid = readPid(cfg.port);
|
|
337
|
+
console.log(`binary : ${cfg.bin} (${(ver ?? 'n/a').split('\n')[0]})`);
|
|
338
|
+
console.log(`server : port ${cfg.port} ${portPid !== null ? `UP (pid ${portPid})` : 'DOWN'}`);
|
|
339
|
+
console.log(`supervisor: ${supPid !== null && alive(supPid) ? `active (pid ${supPid})` : 'none'}`);
|
|
344
340
|
const web = httpGetStatus(`http://127.0.0.1:${webPort}/`);
|
|
345
|
-
console.log(`web
|
|
341
|
+
console.log(`web panel : port ${webPort} ${web !== null ? `HTTP ${web}` : 'unreachable'}`);
|
|
346
342
|
const workDir = lastWorkDir();
|
|
347
343
|
if (workDir)
|
|
348
|
-
console.log(`workdir: ${workDir}`);
|
|
344
|
+
console.log(`workdir : ${workDir}`);
|
|
349
345
|
return;
|
|
350
346
|
}
|
|
351
|
-
console.error('usage: ocrc start
|
|
347
|
+
console.error('usage: ocrc start <work_dir> | stop | restart [work_dir] | status | restore');
|
|
352
348
|
process.exit(1);
|
|
353
349
|
}
|
|
354
350
|
//# sourceMappingURL=service.js.map
|
package/dist/cli/service.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/cli/service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/cli/service.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,7 +27,7 @@ export async function buildPairContext() {
|
|
|
27
27
|
const url = await resolvePublicUrl({ publicUrl: process.env.WEB_PUBLIC_URL, port });
|
|
28
28
|
return { token, url };
|
|
29
29
|
}
|
|
30
|
-
const DEFAULT_PENDING_TTL_MS =
|
|
30
|
+
const DEFAULT_PENDING_TTL_MS = 60_000;
|
|
31
31
|
export function createPairingStore(realToken, ttlMs = DEFAULT_PENDING_TTL_MS) {
|
|
32
32
|
const random = () => randomBytes(24).toString('base64url');
|
|
33
33
|
let current = null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pairing.js","sourceRoot":"","sources":["../../src/connectivity/pairing.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAA;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAE1D;4EAC4E;AAC5E,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,KAAa;IACtD,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,WAAW,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAA;AAC1E,CAAC;AAUD,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAAY,EAAE,KAAa;IAC7D,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IACrC,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IACxE,MAAM,KAAK,GAAG;QACZ,wDAAwD;QACxD,EAAE;QACF,GAAG;QACH,EAAE;QACF,yDAAyD;KAC1D,CAAA;IACD,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,CAAA;AAC3B,CAAC;AAOD;wDACwD;AACxD,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAA;IAC9E,MAAM,KAAK,GAAG,iBAAiB,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAA;IACjE,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,CAAA;IACnF,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAA;AACvB,CAAC;AAsBD,MAAM,sBAAsB,GAAG,
|
|
1
|
+
{"version":3,"file":"pairing.js","sourceRoot":"","sources":["../../src/connectivity/pairing.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAA;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAE1D;4EAC4E;AAC5E,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,KAAa;IACtD,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,WAAW,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAA;AAC1E,CAAC;AAUD,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAAY,EAAE,KAAa;IAC7D,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IACrC,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IACxE,MAAM,KAAK,GAAG;QACZ,wDAAwD;QACxD,EAAE;QACF,GAAG;QACH,EAAE;QACF,yDAAyD;KAC1D,CAAA;IACD,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,CAAA;AAC3B,CAAC;AAOD;wDACwD;AACxD,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAA;IAC9E,MAAM,KAAK,GAAG,iBAAiB,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAA;IACjE,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,CAAA;IACnF,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAA;AACvB,CAAC;AAsBD,MAAM,sBAAsB,GAAG,MAAM,CAAA;AAErC,MAAM,UAAU,kBAAkB,CAAC,SAAuB,EAAE,QAAgB,sBAAsB;IAChG,MAAM,MAAM,GAAG,GAAW,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;IAClE,IAAI,OAAO,GAA0B,IAAI,CAAA;IAEzC,OAAO;QACL,KAAK;YACH,OAAO,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,CAAA;YAC5D,OAAO,OAAO,CAAA;QAChB,CAAC;QACD,QAAQ,CAAC,OAAO;YACd,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,KAAK,KAAK,OAAO;gBAAE,OAAO,IAAI,CAAA;YACtD,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;gBAAC,OAAO,GAAG,IAAI,CAAC;gBAAC,OAAO,IAAI,CAAA;YAAC,CAAC;YACnE,OAAO,GAAG,IAAI,CAAA,CAAC,aAAa;YAC5B,OAAO,SAAS,EAAE,CAAA;QACpB,CAAC;KACF,CAAA;AACH,CAAC;AAED;;kCAEkC;AAClC,MAAM,UAAU,mBAAmB,CAAC,IAAY,EAAE,OAAe;IAC/D,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAA;AAC3E,CAAC"}
|
|
@@ -380,10 +380,10 @@ export function registerHandlers(deps) {
|
|
|
380
380
|
const { url } = await buildPairContext();
|
|
381
381
|
if (deps.pairing) {
|
|
382
382
|
// M11: short-lived single-use pending token — the chat log only ever
|
|
383
|
-
// holds a credential that dies in
|
|
383
|
+
// holds a credential that dies in 1 minute or on first use.
|
|
384
384
|
const p = deps.pairing.issue();
|
|
385
385
|
const pairUrl = buildPairUrlPending(url, p.token);
|
|
386
|
-
await ctx.reply(`🔗 <b>Pair a device</b>\n\nOpen this link on the device within <b>
|
|
386
|
+
await ctx.reply(`🔗 <b>Pair a device</b>\n\nOpen this link on the device within <b>1 minute</b> (single use — sending /pair again invalidates it):\n<code>${pairUrl}</code>`, { parse_mode: 'HTML' });
|
|
387
387
|
}
|
|
388
388
|
else {
|
|
389
389
|
const { token } = await buildPairContext();
|