instar 1.2.14 → 1.2.15
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/setup-wizard/codex-driver.d.ts.map +1 -1
- package/dist/commands/setup-wizard/codex-driver.js +208 -51
- package/dist/commands/setup-wizard/codex-driver.js.map +1 -1
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +2 -2
- package/upgrades/1.2.15.md +87 -0
- package/upgrades/side-effects/fix-wizard-telegram-native.md +112 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex-driver.d.ts","sourceRoot":"","sources":["../../../src/commands/setup-wizard/codex-driver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;
|
|
1
|
+
{"version":3,"file":"codex-driver.d.ts","sourceRoot":"","sources":["../../../src/commands/setup-wizard/codex-driver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAiBH,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAilBD;;GAEG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiC/E"}
|
|
@@ -17,11 +17,12 @@
|
|
|
17
17
|
* conversational behavior is no longer expected here — Codex is
|
|
18
18
|
* driving the browser, that's its strength).
|
|
19
19
|
*/
|
|
20
|
-
import { execFileSync,
|
|
20
|
+
import { execFileSync, spawnSync } from 'node:child_process';
|
|
21
|
+
import fs from 'node:fs';
|
|
21
22
|
import path from 'node:path';
|
|
22
23
|
import readline from 'node:readline';
|
|
23
24
|
import pc from 'picocolors';
|
|
24
|
-
import { buildFreshProjectInstall, INITIAL_STATE, } from './state-machine.js';
|
|
25
|
+
import { buildFreshProjectInstall, INITIAL_STATE, resolveChoice, } from './state-machine.js';
|
|
25
26
|
import { WIZARD_CODEX_MODEL } from './model-constants.js';
|
|
26
27
|
/**
|
|
27
28
|
* Per-state narrative-prompt builders. Each returns the EXACT text we
|
|
@@ -248,18 +249,44 @@ async function renderNarrativeState(state, answers, options) {
|
|
|
248
249
|
// resolveChoice fallback so the wizard doesn't crash.
|
|
249
250
|
for (let attempt = 0; attempt < 5; attempt++) {
|
|
250
251
|
const answer = await askUser(' > ');
|
|
251
|
-
if (!state.validate)
|
|
252
|
+
if (!state.validate) {
|
|
253
|
+
echoChoice(state, answer);
|
|
252
254
|
return answer;
|
|
255
|
+
}
|
|
253
256
|
const validationMsg = state.validate(answer);
|
|
254
|
-
if (validationMsg === null)
|
|
257
|
+
if (validationMsg === null) {
|
|
258
|
+
echoChoice(state, answer);
|
|
255
259
|
return answer;
|
|
260
|
+
}
|
|
256
261
|
console.log();
|
|
257
262
|
console.log(pc.yellow(` ${validationMsg}`));
|
|
258
263
|
console.log();
|
|
259
264
|
}
|
|
260
265
|
// Last-resort: take whatever was last typed even if invalid. The
|
|
261
266
|
// state machine's `next` should still produce a usable transition.
|
|
262
|
-
|
|
267
|
+
const answer = await askUser(' > ');
|
|
268
|
+
echoChoice(state, answer);
|
|
269
|
+
return answer;
|
|
270
|
+
}
|
|
271
|
+
/**
|
|
272
|
+
* For choice prompts, echo the resolved label back to the user as a
|
|
273
|
+
* confirmation line ("→ Proactive"). For text prompts, no-op — the
|
|
274
|
+
* answer is the answer.
|
|
275
|
+
*
|
|
276
|
+
* This closes the v1.2.14 confusion where typing "Proactive" or
|
|
277
|
+
* "Telegram" got correctly interpreted by resolveChoice but the
|
|
278
|
+
* wizard never showed the user what selection it understood.
|
|
279
|
+
*/
|
|
280
|
+
function echoChoice(state, answer) {
|
|
281
|
+
if (state.input.kind !== 'choice')
|
|
282
|
+
return;
|
|
283
|
+
const matched = resolveChoice(answer, state.input.choices);
|
|
284
|
+
if (!matched)
|
|
285
|
+
return;
|
|
286
|
+
const choice = state.input.choices.find((c) => c.value === matched);
|
|
287
|
+
if (!choice)
|
|
288
|
+
return;
|
|
289
|
+
console.log(pc.dim(` → ${choice.label}`));
|
|
263
290
|
}
|
|
264
291
|
/**
|
|
265
292
|
* Execute an action state — calls the appropriate instar CLI command
|
|
@@ -286,10 +313,13 @@ async function runAction(action, answers, options) {
|
|
|
286
313
|
return {};
|
|
287
314
|
}
|
|
288
315
|
case 'add-user': {
|
|
289
|
-
const id = (answers.userName || 'user').toLowerCase().replace(/[^a-z0-9]/g, '');
|
|
316
|
+
const id = (answers.userName || 'user').toLowerCase().replace(/[^a-z0-9]/g, '') || 'user';
|
|
290
317
|
const name = answers.userName || 'User';
|
|
291
318
|
try {
|
|
292
|
-
|
|
319
|
+
// `instar user add` reads project from cwd — does NOT accept
|
|
320
|
+
// -d/--dir (pre-fix passed it and the CLI errored "unknown
|
|
321
|
+
// option '-d'"). Set cwd on the spawn instead.
|
|
322
|
+
execFileSync('npx', ['instar', 'user', 'add', '--id', id, '--name', name], { stdio: 'inherit', cwd: options.projectDir });
|
|
293
323
|
}
|
|
294
324
|
catch {
|
|
295
325
|
// non-fatal
|
|
@@ -298,7 +328,8 @@ async function runAction(action, answers, options) {
|
|
|
298
328
|
}
|
|
299
329
|
case 'start-server': {
|
|
300
330
|
try {
|
|
301
|
-
|
|
331
|
+
// server start accepts -d, but pass cwd too for consistency.
|
|
332
|
+
execFileSync('npx', ['instar', 'server', 'start', '-d', options.projectDir], { stdio: 'inherit', cwd: options.projectDir });
|
|
302
333
|
return { serverStarted: true };
|
|
303
334
|
}
|
|
304
335
|
catch {
|
|
@@ -307,7 +338,7 @@ async function runAction(action, answers, options) {
|
|
|
307
338
|
}
|
|
308
339
|
case 'install-autostart': {
|
|
309
340
|
try {
|
|
310
|
-
execFileSync('npx', ['instar', 'autostart', 'install', '-d', options.projectDir], { stdio: 'inherit' });
|
|
341
|
+
execFileSync('npx', ['instar', 'autostart', 'install', '-d', options.projectDir], { stdio: 'inherit', cwd: options.projectDir });
|
|
311
342
|
}
|
|
312
343
|
catch {
|
|
313
344
|
// non-fatal
|
|
@@ -339,51 +370,177 @@ async function runAction(action, answers, options) {
|
|
|
339
370
|
}
|
|
340
371
|
}
|
|
341
372
|
/**
|
|
342
|
-
* Telegram setup —
|
|
343
|
-
*
|
|
344
|
-
*
|
|
373
|
+
* Telegram setup — instar-native flow.
|
|
374
|
+
*
|
|
375
|
+
* Previously this spawned `codex exec` and asked it to walk the user
|
|
376
|
+
* through BotFather. But `codex exec` is non-interactive (single-turn,
|
|
377
|
+
* stdin already consumed by the prompt), so it couldn't wait for the
|
|
378
|
+
* user to paste a token. The spawned session printed manual
|
|
379
|
+
* instructions, ended, and the wizard recorded "telegramConfigured:
|
|
380
|
+
* true" without anything actually configured.
|
|
381
|
+
*
|
|
382
|
+
* The fix: drive the entire Telegram setup from instar with readline +
|
|
383
|
+
* the Telegram Bot API. No LLM session is involved. We:
|
|
384
|
+
*
|
|
385
|
+
* 1. Print clear BotFather instructions.
|
|
386
|
+
* 2. Prompt the user for the bot token, validate via getMe.
|
|
387
|
+
* 3. Prompt the user to add the bot to a group and send a message,
|
|
388
|
+
* then call getUpdates to extract the chat ID.
|
|
389
|
+
* 4. Write the token + chat ID into .instar/config.json's messaging[].
|
|
390
|
+
*
|
|
391
|
+
* Failure modes (network down, user can't paste, etc.) gracefully
|
|
392
|
+
* skip with a clear "you can finish setup later" pointer, but never
|
|
393
|
+
* silently mark the channel as configured when it isn't.
|
|
345
394
|
*/
|
|
346
395
|
async function runTelegramSetup(options) {
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
396
|
+
console.log();
|
|
397
|
+
console.log(pc.bold(' Telegram setup'));
|
|
398
|
+
console.log(pc.dim(' This takes about 2 minutes. I\'ll walk you through each step.'));
|
|
399
|
+
console.log();
|
|
400
|
+
console.log(pc.bold(' Step 1 of 3 — Create a bot'));
|
|
401
|
+
console.log(' • Open https://web.telegram.org/a/ in your browser');
|
|
402
|
+
console.log(' • Search for @BotFather and start a chat');
|
|
403
|
+
console.log(' • Send /newbot and follow the prompts:');
|
|
404
|
+
console.log(' – Display name (e.g. "Instar Codey")');
|
|
405
|
+
console.log(' – Username (must end with "bot", e.g. "instar_codey_bot")');
|
|
406
|
+
console.log(' • BotFather will reply with a token like 1234567890:AAH...');
|
|
407
|
+
console.log();
|
|
408
|
+
let token = '';
|
|
409
|
+
let botUsername = '';
|
|
410
|
+
for (let attempt = 0; attempt < 5; attempt++) {
|
|
411
|
+
const input = (await askUser(' Paste the bot token here: ')).trim();
|
|
412
|
+
if (!input) {
|
|
413
|
+
console.log(pc.yellow(' That looked blank — paste the token from BotFather (the long string).'));
|
|
414
|
+
continue;
|
|
415
|
+
}
|
|
416
|
+
console.log(pc.dim(' Verifying token with Telegram…'));
|
|
417
|
+
const verified = await telegramGetMe(input);
|
|
418
|
+
if (!verified.ok) {
|
|
419
|
+
console.log(pc.yellow(` Telegram rejected that token: ${verified.error}. Try pasting it again.`));
|
|
420
|
+
continue;
|
|
421
|
+
}
|
|
422
|
+
token = input;
|
|
423
|
+
botUsername = verified.username;
|
|
424
|
+
console.log(pc.green(` ✓ Bot verified: @${botUsername}`));
|
|
425
|
+
break;
|
|
426
|
+
}
|
|
427
|
+
if (!token) {
|
|
428
|
+
console.log(pc.yellow(' Skipping Telegram for now. You can finish setup by chatting your agent later.'));
|
|
429
|
+
return { telegramConfigured: false };
|
|
430
|
+
}
|
|
431
|
+
console.log();
|
|
432
|
+
console.log(pc.bold(' Step 2 of 3 — Connect a chat'));
|
|
433
|
+
console.log(` • In Telegram, create a new group (or open an existing one)`);
|
|
434
|
+
console.log(` • Add @${botUsername} as a member`);
|
|
435
|
+
console.log(' • Send any message in the group ("hi" works)');
|
|
436
|
+
console.log();
|
|
437
|
+
await askUser(' Press Enter once you\'ve done that > ');
|
|
438
|
+
let chatId = '';
|
|
439
|
+
let chatName = '';
|
|
440
|
+
for (let attempt = 0; attempt < 4; attempt++) {
|
|
441
|
+
console.log(pc.dim(' Fetching the chat ID from Telegram…'));
|
|
442
|
+
const updates = await telegramGetUpdates(token);
|
|
443
|
+
if (!updates.ok) {
|
|
444
|
+
console.log(pc.yellow(` Couldn't reach Telegram: ${updates.error}.`));
|
|
445
|
+
const retry = (await askUser(' Press Enter to try again, type "skip" to skip > ')).toLowerCase().trim();
|
|
446
|
+
if (retry === 'skip')
|
|
447
|
+
break;
|
|
448
|
+
continue;
|
|
449
|
+
}
|
|
450
|
+
// Prefer group/supergroup chats. Fall back to most recent chat
|
|
451
|
+
// of any type — that's still useful (private DM with the bot
|
|
452
|
+
// works too).
|
|
453
|
+
const groupHit = updates.chats.find((c) => c.type === 'group' || c.type === 'supergroup');
|
|
454
|
+
const hit = groupHit ?? updates.chats[updates.chats.length - 1];
|
|
455
|
+
if (hit) {
|
|
456
|
+
chatId = hit.id;
|
|
457
|
+
chatName = hit.name;
|
|
458
|
+
console.log(pc.green(` ✓ Chat found: "${chatName}" (id ${chatId})`));
|
|
459
|
+
break;
|
|
460
|
+
}
|
|
461
|
+
console.log(pc.yellow(' No recent messages found yet. Make sure you sent a message in the group AFTER adding the bot.'));
|
|
462
|
+
const retry = (await askUser(' Press Enter to try again, type "skip" to skip > ')).toLowerCase().trim();
|
|
463
|
+
if (retry === 'skip')
|
|
464
|
+
break;
|
|
465
|
+
}
|
|
466
|
+
if (!chatId) {
|
|
467
|
+
console.log(pc.yellow(' Skipping chat-ID detection. Your bot token is saved; you can add the chat ID later.'));
|
|
468
|
+
// Still save the token — partial config is better than none.
|
|
469
|
+
writeTelegramConfig(options.projectDir, { token, chatId: '' });
|
|
470
|
+
return { telegramConfigured: false };
|
|
471
|
+
}
|
|
472
|
+
console.log();
|
|
473
|
+
console.log(pc.bold(' Step 3 of 3 — Saving config'));
|
|
474
|
+
const written = writeTelegramConfig(options.projectDir, { token, chatId });
|
|
475
|
+
if (!written) {
|
|
476
|
+
console.log(pc.red(' Couldn\'t write to .instar/config.json. Your bot is created but not wired up yet.'));
|
|
477
|
+
return { telegramConfigured: false };
|
|
478
|
+
}
|
|
479
|
+
console.log(pc.green(' ✓ Telegram is set up.'));
|
|
480
|
+
console.log(pc.dim(` Your agent will message you in "${chatName}" once the server starts.`));
|
|
481
|
+
return { telegramConfigured: true };
|
|
482
|
+
}
|
|
483
|
+
async function telegramGetMe(token) {
|
|
484
|
+
try {
|
|
485
|
+
const url = `https://api.telegram.org/bot${encodeURIComponent(token)}/getMe`;
|
|
486
|
+
const res = await fetch(url);
|
|
487
|
+
const data = (await res.json());
|
|
488
|
+
if (!data.ok)
|
|
489
|
+
return { ok: false, username: '', error: data.description || 'invalid token' };
|
|
490
|
+
return { ok: true, username: data.result?.username || 'unknown', error: '' };
|
|
491
|
+
}
|
|
492
|
+
catch (err) {
|
|
493
|
+
return { ok: false, username: '', error: err instanceof Error ? err.message : String(err) };
|
|
494
|
+
}
|
|
495
|
+
}
|
|
496
|
+
async function telegramGetUpdates(token) {
|
|
497
|
+
try {
|
|
498
|
+
const url = `https://api.telegram.org/bot${encodeURIComponent(token)}/getUpdates`;
|
|
499
|
+
const res = await fetch(url);
|
|
500
|
+
const data = (await res.json());
|
|
501
|
+
if (!data.ok)
|
|
502
|
+
return { ok: false, chats: [], error: data.description || 'getUpdates failed' };
|
|
503
|
+
const chats = (data.result || [])
|
|
504
|
+
.map((u) => u.message?.chat)
|
|
505
|
+
.filter((c) => !!c && typeof c.id === 'number')
|
|
506
|
+
.map((c) => ({
|
|
507
|
+
id: String(c.id),
|
|
508
|
+
type: c.type || 'private',
|
|
509
|
+
name: c.title || c.first_name || c.username || `chat ${c.id}`,
|
|
510
|
+
}));
|
|
511
|
+
return { ok: true, chats, error: '' };
|
|
512
|
+
}
|
|
513
|
+
catch (err) {
|
|
514
|
+
return { ok: false, chats: [], error: err instanceof Error ? err.message : String(err) };
|
|
515
|
+
}
|
|
516
|
+
}
|
|
517
|
+
/**
|
|
518
|
+
* Persist a Telegram messaging entry into .instar/config.json's
|
|
519
|
+
* messaging[]. Replaces any existing telegram entry. Returns true on
|
|
520
|
+
* success.
|
|
521
|
+
*/
|
|
522
|
+
function writeTelegramConfig(projectDir, params) {
|
|
523
|
+
const configPath = path.join(projectDir, '.instar', 'config.json');
|
|
524
|
+
try {
|
|
525
|
+
const raw = fs.readFileSync(configPath, 'utf-8');
|
|
526
|
+
const config = JSON.parse(raw);
|
|
527
|
+
config.messaging = (config.messaging || []).filter((m) => m.type !== 'telegram');
|
|
528
|
+
config.messaging.push({
|
|
529
|
+
type: 'telegram',
|
|
530
|
+
enabled: true,
|
|
531
|
+
config: {
|
|
532
|
+
token: params.token,
|
|
533
|
+
chatId: params.chatId,
|
|
534
|
+
pollIntervalMs: 2000,
|
|
535
|
+
stallTimeoutMinutes: 5,
|
|
536
|
+
},
|
|
383
537
|
});
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
}
|
|
538
|
+
fs.writeFileSync(configPath, JSON.stringify(config, null, 2));
|
|
539
|
+
return true;
|
|
540
|
+
}
|
|
541
|
+
catch {
|
|
542
|
+
return false;
|
|
543
|
+
}
|
|
387
544
|
}
|
|
388
545
|
/**
|
|
389
546
|
* Entry point — runs the wizard from the initial state to completion.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex-driver.js","sourceRoot":"","sources":["../../../src/commands/setup-wizard/codex-driver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EACL,wBAAwB,EACxB,aAAa,GAId,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAc1D;;;;;GAKG;AACH,MAAM,iBAAiB,GAA8E;IACnG,OAAO,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC;;6DAEqC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC;;;;;;;;CAQzF,CAAC,IAAI,EAAE;IAEN,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;;;;;;;;;;;;;;;CAetB,CAAC,IAAI,EAAE;IAEN,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;qDAC8B,CAAC,CAAC,SAAS;;;;;;;CAO/D,CAAC,IAAI,EAAE;IAEN,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;8BACQ,CAAC,CAAC,SAAS;OAClC,CAAC,CAAC,SAAS;;4DAE0C,CAAC,CAAC,SAAS;;;CAGtE,CAAC,IAAI,EAAE;IAEN,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;eACJ,CAAC,CAAC,QAAQ,mBAAmB,CAAC,CAAC,SAAS;GACpD,CAAC,CAAC,SAAS;;;;;;;CAOb,CAAC,IAAI,EAAE;IAEN,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;YACR,CAAC,CAAC,QAAQ,6BAA6B,CAAC,CAAC,SAAS;EAC5D,CAAC,CAAC,QAAQ;;;;;;;CAOX,CAAC,IAAI,EAAE;CACP,CAAC;AAEF,SAAS,YAAY,CAAC,OAAe,EAAE,OAAsB,EAAE,GAA2B;IACxF,MAAM,OAAO,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC3C,OAAO,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAChD,CAAC;AAED;;;;GAIG;AACH,MAAM,mBAAmB,GAA2B;IAClD,OAAO,EAAE,oBAAoB;IAC7B,YAAY,EAAE,0CAA0C;IACxD,YAAY,EAAE,SAAS;IACvB,WAAW,EAAE,iCAAiC;IAC9C,QAAQ,EAAE,iDAAiD;IAC3D,SAAS,EAAE,oDAAoD;CAChE,CAAC;AAEF;;;;;GAKG;AACH,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAE1E,SAAS,YAAY,CAAC,KAAa;IACjC,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;IACjC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC;QACrC,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC;IAC5B,CAAC;IACD,MAAM,MAAM,GAAG,GAAS,EAAE;QACxB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACnG,CAAC,EAAE,CAAC;IACN,CAAC,CAAC;IACF,MAAM,EAAE,CAAC;IACT,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACxC,OAAO;QACL,IAAI,EAAE,GAAG,EAAE;YACT,aAAa,CAAC,MAAM,CAAC,CAAC;YACtB,qEAAqE;YACrE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;QAC9D,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,iBAAiB,CACxB,SAAiB,EACjB,MAAc,EACd,OAAkD;IAElD,MAAM,OAAO,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;IAC3C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,SAAS,CACtB,SAAS,EACT;YACE,MAAM;YACN,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,kBAAkB;YACxB,uBAAuB;YACvB,aAAa;YACb,MAAM;SACP,EACD;YACE,GAAG,EAAE,OAAO,CAAC,UAAU;YACvB,OAAO,EAAE,OAAO,CAAC,SAAS;YAC1B,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;YACjC,QAAQ,EAAE,OAAO;SAClB,CACF,CAAC;QACF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACrC,kEAAkE;QAClE,mDAAmD;QACnD,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5C,qEAAqE;QACrE,oEAAoE;QACpE,qBAAqB;QACrB,MAAM,OAAO,GAAG,CAAC,cAAc,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;QAC1D,IAAI,IAAI,GAAG,MAAM,CAAC;QAClB,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YAChC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,EAAE;gBAAE,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QACnF,CAAC;QACD,OAAO,IAAI,IAAI,IAAI,CAAC;IACtB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;YAAS,CAAC;QACT,OAAO,CAAC,IAAI,EAAE,CAAC;IACjB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,OAAO,CAAC,UAAkB;IACvC,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACtF,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE;YACjC,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,KAAK,UAAU,oBAAoB,CACjC,KAA8D,EAC9D,OAAsB,EACtB,OAA2B;IAE3B,iEAAiE;IACjE,qDAAqD;IACrD,IAAI,SAAS,GAAkB,IAAI,CAAC;IACpC,IAAI,OAAO,CAAC,eAAe,KAAK,KAAK,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;QACnF,IAAI,MAAM,EAAE,CAAC;YACX,SAAS,GAAG,iBAAiB,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE;gBACvD,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,SAAS,EAAE,MAAM;aAClB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,IAAI,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACvE,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1B,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,MAAM,eAAe,GACnB,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,WAAW;QACpD,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC;QAC1C,CAAC,CAAC,EAAE,CAAC;IACT,IAAI,eAAe;QAAE,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAElD,gEAAgE;IAChE,iEAAiE;IACjE,iEAAiE;IACjE,sDAAsD;IACtD,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC;QAC7C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK,CAAC,QAAQ;YAAE,OAAO,MAAM,CAAC;QACnC,MAAM,aAAa,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC7C,IAAI,aAAa,KAAK,IAAI;YAAE,OAAO,MAAM,CAAC;QAC1C,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,aAAa,EAAE,CAAC,CAAC,CAAC;QAC7C,OAAO,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC;IACD,iEAAiE;IACjE,mEAAmE;IACnE,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC;AACzB,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,SAAS,CACtB,MAAoB,EACpB,OAAsB,EACtB,OAA2B;IAE3B,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,MAAM,CAAC,WAAW,KAAK,CAAC,CAAC,CAAC;IAEpD,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,8DAA8D;YAC9D,0CAA0C;YAC1C,IAAI,CAAC;gBACH,YAAY,CACV,KAAK,EACL;oBACE,QAAQ;oBACR,MAAM;oBACN,OAAO,EAAE,OAAO,CAAC,UAAU;oBAC3B,aAAa,EAAE,WAAW;iBAC3B,EACD,EAAE,KAAK,EAAE,SAAS,EAAE,CACrB,CAAC;YACJ,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,wCAAwC,CAAC,CAAC,CAAC;YACnE,CAAC;YACD,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;YAChF,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,IAAI,MAAM,CAAC;YACxC,IAAI,CAAC;gBACH,YAAY,CACV,KAAK,EACL,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,EAC/E,EAAE,KAAK,EAAE,SAAS,EAAE,CACrB,CAAC;YACJ,CAAC;YAAC,MAAM,CAAC;gBACP,YAAY;YACd,CAAC;YACD,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,KAAK,cAAc,CAAC,CAAC,CAAC;YACpB,IAAI,CAAC;gBACH,YAAY,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;gBACnG,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;YACjC,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;YAClC,CAAC;QACH,CAAC;QAED,KAAK,mBAAmB,CAAC,CAAC,CAAC;YACzB,IAAI,CAAC;gBACH,YAAY,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YAC1G,CAAC;YAAC,MAAM,CAAC;gBACP,YAAY;YACd,CAAC;YACD,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,KAAK,wBAAwB,CAAC,CAAC,CAAC;YAC9B,OAAO,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACzC,CAAC;QAED,KAAK,wBAAwB,CAAC;QAC9B,KAAK,qBAAqB,CAAC,CAAC,CAAC;YAC3B,4DAA4D;YAC5D,yDAAyD;YACzD,0BAA0B;YAC1B,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,gDAAgD,CAAC,CAAC,CAAC;YACzE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,0EAA0E,CAAC,CAAC,CAAC;YAChG,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,KAAK,eAAe,CAAC,CAAC,CAAC;YACrB,gEAAgE;YAChE,kEAAkE;YAClE,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,KAAK,eAAe,CAAC,CAAC,CAAC;YACrB,+CAA+C;YAC/C,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,gBAAgB,CAAC,OAA2B;IACzD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CACzB,OAAO,CAAC,UAAU,EAClB,SAAS,EACT,QAAQ,EACR,cAAc,EACd,UAAU,CACX,CAAC;IACF,mEAAmE;IACnE,6DAA6D;IAC7D,oEAAoE;IACpE,4BAA4B;IAC5B,MAAM,cAAc,GAAG;;yBAEA,OAAO,CAAC,UAAU;;;;;;;;;;;;;;;;;;WAkBhC,SAAS;CACnB,CAAC,IAAI,EAAE,CAAC;IAEP,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,KAAK,GAAG,KAAK,CACjB,OAAO,CAAC,SAAS,EACjB;YACE,MAAM;YACN,4CAA4C;YAC5C,IAAI,EAAE,kBAAkB;YACxB,cAAc;SACf,EACD;YACE,GAAG,EAAE,OAAO,CAAC,UAAU;YACvB,KAAK,EAAE,SAAS;SACjB,CACF,CAAC;QACF,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC/D,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAA2B;IAC9D,MAAM,MAAM,GAAG,wBAAwB,EAAE,CAAC;IAC1C,MAAM,OAAO,GAAkB,EAAE,CAAC;IAClC,IAAI,SAAS,GAAG,aAAa,CAAC;IAE9B,IAAI,MAAM,GAAG,EAAE,CAAC,CAAC,mDAAmD;IACpE,OAAO,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;QACpB,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QAChC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,sCAAsC,SAAS,EAAE,CAAC,CAAC,CAAC;YACvE,OAAO;QACT,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;YACtC,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO;QACT,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAChE,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAChC,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAChC,SAAS;QACX,CAAC;QAED,wBAAwB;QACxB,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACnE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC/D,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAChC,SAAS,GAAG,MAAM,CAAC;IACrB,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"codex-driver.js","sourceRoot":"","sources":["../../../src/commands/setup-wizard/codex-driver.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "./builtin-manifest.schema.json",
|
|
3
3
|
"schemaVersion": 1,
|
|
4
|
-
"generatedAt": "2026-05-
|
|
5
|
-
"instarVersion": "1.2.
|
|
4
|
+
"generatedAt": "2026-05-22T00:06:03.820Z",
|
|
5
|
+
"instarVersion": "1.2.15",
|
|
6
6
|
"entryCount": 191,
|
|
7
7
|
"entries": {
|
|
8
8
|
"hook:session-start": {
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# Upgrade Guide — v1.2.15 (Telegram-native wizard + UX fixes)
|
|
2
|
+
|
|
3
|
+
<!-- bump: patch -->
|
|
4
|
+
<!-- patch = bug fixes, refactors, test additions, doc updates -->
|
|
5
|
+
|
|
6
|
+
## What Changed
|
|
7
|
+
|
|
8
|
+
**Fix: three real-user UX bugs from the v1.2.14 Codex install test.**
|
|
9
|
+
|
|
10
|
+
End-to-end testing on instar-codey caught three issues, all in the
|
|
11
|
+
hybrid wizard's Codex path:
|
|
12
|
+
|
|
13
|
+
1. **`instar user add -d ...` errored** with "unknown option '-d'".
|
|
14
|
+
The user-profile creation step silently failed. Fix: drop the
|
|
15
|
+
`-d` flag and set `cwd: options.projectDir` on the spawn. Same
|
|
16
|
+
prophylactic edit applied to the server-start and
|
|
17
|
+
autostart-install actions.
|
|
18
|
+
|
|
19
|
+
2. **Choice prompts silently accepted text input** ("Proactive",
|
|
20
|
+
"Telegram") without echoing what got picked. The interpreter
|
|
21
|
+
worked correctly via `resolveChoice`, but the user had no
|
|
22
|
+
visual confirmation. Fix: new `echoChoice` helper called from
|
|
23
|
+
the validator retry loop prints `→ {label}` after the answer
|
|
24
|
+
is accepted.
|
|
25
|
+
|
|
26
|
+
3. **Telegram setup silently failed** because it spawned a
|
|
27
|
+
`codex exec` session that couldn't actually wait for the user
|
|
28
|
+
to paste a bot token. Codex printed manual BotFather
|
|
29
|
+
instructions, ended successfully, and the wizard recorded
|
|
30
|
+
"Telegram is configured!" without anything being configured.
|
|
31
|
+
Fix: complete rewrite of the Telegram action as an instar-
|
|
32
|
+
native readline + Telegram Bot API flow. No LLM session in the
|
|
33
|
+
loop. Three steps:
|
|
34
|
+
|
|
35
|
+
- **Step 1 of 3**: print BotFather instructions, prompt for
|
|
36
|
+
token, validate via `GET /bot<TOKEN>/getMe`. Up to 5 retries
|
|
37
|
+
on invalid tokens; "skip" exits without marking configured.
|
|
38
|
+
- **Step 2 of 3**: prompt user to add bot to a group + send
|
|
39
|
+
a message, then call `GET /bot<TOKEN>/getUpdates` to auto-
|
|
40
|
+
discover the chat ID. Up to 4 retries.
|
|
41
|
+
- **Step 3 of 3**: write `{ type: 'telegram', enabled: true,
|
|
42
|
+
config: { token, chatId, pollIntervalMs, stallTimeoutMinutes
|
|
43
|
+
} }` to `.instar/config.json`'s messaging array, replacing
|
|
44
|
+
any existing telegram entry.
|
|
45
|
+
|
|
46
|
+
The action NEVER returns `telegramConfigured: true` unless the
|
|
47
|
+
config write actually succeeds — closing the silent-success
|
|
48
|
+
class of failure.
|
|
49
|
+
|
|
50
|
+
Spec: `specs/dev-infrastructure/wizard-telegram-native.md`.
|
|
51
|
+
ELI16: `specs/dev-infrastructure/wizard-telegram-native.eli16.md`.
|
|
52
|
+
Side-effects review: `upgrades/side-effects/fix-wizard-telegram-native.md`.
|
|
53
|
+
|
|
54
|
+
## What to Tell Your User
|
|
55
|
+
|
|
56
|
+
The wizard's Telegram setup now works end-to-end on any host — no
|
|
57
|
+
browser automation dependency, no LLM session involved. You'll see
|
|
58
|
+
clear instructions, paste your bot token, add the bot to a group,
|
|
59
|
+
press Enter, and the wizard writes everything for you. If anything
|
|
60
|
+
fails along the way, it'll tell you exactly what happened and how
|
|
61
|
+
to finish setup later by chatting your agent.
|
|
62
|
+
|
|
63
|
+
## Summary of New Capabilities
|
|
64
|
+
|
|
65
|
+
No new capabilities. Three UX hardening fixes on top of v1.2.14.
|
|
66
|
+
|
|
67
|
+
## Evidence
|
|
68
|
+
|
|
69
|
+
Reproduction prior to fix: v1.2.14 install on `instar-codey` (real
|
|
70
|
+
Codex install, ChatGPT-subscription auth):
|
|
71
|
+
- user-add action printed `error: unknown option '-d'`.
|
|
72
|
+
- Autonomy choice "Proactive" was accepted with no echo.
|
|
73
|
+
- Messaging choice "Telegram" was accepted with no echo.
|
|
74
|
+
- Telegram action spawned Codex; Codex printed manual BotFather
|
|
75
|
+
instructions; wizard immediately marked Telegram configured;
|
|
76
|
+
config.json's `messaging` array was empty.
|
|
77
|
+
|
|
78
|
+
After fix:
|
|
79
|
+
- 6 new unit tests cover the Telegram-native flow shape, the
|
|
80
|
+
add-user cwd fix, and the choice echo helper.
|
|
81
|
+
- Existing 26 state-machine tests still pass.
|
|
82
|
+
- Existing 5 dispatch canary tests still pass (updated to
|
|
83
|
+
reflect that the driver now has 1 codex exec spawn instead of 2,
|
|
84
|
+
since the Telegram one was replaced).
|
|
85
|
+
- Total: 37 wizard-related tests, all green.
|
|
86
|
+
- Manual end-to-end re-test on Codex install path pending on
|
|
87
|
+
publish.
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
# Side-effects review — Telegram-native wizard + add-user cwd + choice echo
|
|
2
|
+
|
|
3
|
+
Per L6. Seven dimensions.
|
|
4
|
+
|
|
5
|
+
## 1. Over-block / under-block
|
|
6
|
+
|
|
7
|
+
Before: UNDER on three counts.
|
|
8
|
+
- `add-user` action passed `-d` to a CLI that doesn't accept it →
|
|
9
|
+
silent profile-creation failure.
|
|
10
|
+
- Choice prompts silently accepted text input without echoing what
|
|
11
|
+
got resolved → user couldn't tell whether their input was
|
|
12
|
+
understood.
|
|
13
|
+
- Telegram action spawned `codex exec` (non-interactive) and then
|
|
14
|
+
marked the channel configured even though no token was captured.
|
|
15
|
+
|
|
16
|
+
After: precisely targeted.
|
|
17
|
+
- `add-user` uses cwd consistently with how `instar user add`
|
|
18
|
+
actually resolves project context.
|
|
19
|
+
- Choice prompts echo `→ {label}` after validation passes (no-op for
|
|
20
|
+
text prompts).
|
|
21
|
+
- Telegram action is instar-native readline + Telegram Bot API; only
|
|
22
|
+
marks the channel configured when the config write succeeds.
|
|
23
|
+
|
|
24
|
+
No over-block: the Claude wizard path is untouched, WhatsApp + Slack
|
|
25
|
+
flows are unchanged, the state machine's flow is unchanged.
|
|
26
|
+
|
|
27
|
+
## 2. Level-of-abstraction fit
|
|
28
|
+
|
|
29
|
+
Three small, scoped changes inside the existing codex-driver module:
|
|
30
|
+
|
|
31
|
+
- One spawn-options edit on the `add-user` action (drop `-d`, add
|
|
32
|
+
cwd). Same pattern applied prophylactically to `start-server`
|
|
33
|
+
and `install-autostart` for consistency.
|
|
34
|
+
- One helper function `echoChoice(state, answer)` called from the
|
|
35
|
+
existing `renderNarrativeState` retry loop. Pure render concern,
|
|
36
|
+
no state-machine API change.
|
|
37
|
+
- `runTelegramSetup` rewritten as a 100-line instar-native flow
|
|
38
|
+
plus three small private helpers (`telegramGetMe`,
|
|
39
|
+
`telegramGetUpdates`, `writeTelegramConfig`). Replaces a 50-line
|
|
40
|
+
codex-spawn helper. Net code size grew by ~150 LOC for a more
|
|
41
|
+
reliable result.
|
|
42
|
+
|
|
43
|
+
No new module, no new abstraction. The driver remains the single
|
|
44
|
+
home for codex-cli wizard implementation.
|
|
45
|
+
|
|
46
|
+
## 3. Signal vs Authority compliance
|
|
47
|
+
|
|
48
|
+
- The Telegram API's `getMe` response is the AUTHORITY for "is this
|
|
49
|
+
a valid bot token." Pre-fix, the wizard never validated.
|
|
50
|
+
- The Telegram API's `getUpdates` response is the AUTHORITY for
|
|
51
|
+
"what chat IDs has this bot seen." We extract from there rather
|
|
52
|
+
than inventing.
|
|
53
|
+
- The wizard's `choice` resolver remains the AUTHORITY for "what
|
|
54
|
+
did the user mean by their text input." Echo just surfaces the
|
|
55
|
+
AUTHORITY's decision to the user.
|
|
56
|
+
- The `add-user` cwd change makes process-directory the SIGNAL the
|
|
57
|
+
CLI was always reading; the prior `-d` flag was a wrong-signal
|
|
58
|
+
attempt that the CLI rejected outright.
|
|
59
|
+
|
|
60
|
+
## 4. Interactions with adjacent systems
|
|
61
|
+
|
|
62
|
+
- **State machine `setup-telegram-agentic` action**: name unchanged
|
|
63
|
+
(still describes the user-visible intent). Implementation moved
|
|
64
|
+
from codex-spawn to instar-native. Downstream consumers
|
|
65
|
+
(`send-greeting` action, future Telegram-dependent steps) see the
|
|
66
|
+
same `{ telegramConfigured: boolean }` return shape.
|
|
67
|
+
- **`writeTelegramConfig`**: writes the exact messaging schema the
|
|
68
|
+
agent server already consumes (`type/enabled/config.token/chatId/
|
|
69
|
+
pollIntervalMs/stallTimeoutMinutes`). No change to consumers.
|
|
70
|
+
- **`renderNarrativeState`**: gains one `echoChoice(state, answer)`
|
|
71
|
+
call after the validator accepts. Wraps the existing return path,
|
|
72
|
+
doesn't change it.
|
|
73
|
+
- **`add-user` action**: cwd change is invisible to the CLI; same
|
|
74
|
+
outcome via the correct flag set.
|
|
75
|
+
- **Existing v1.2.14 validators + spinner**: untouched.
|
|
76
|
+
- **Claude wizard path**: untouched.
|
|
77
|
+
|
|
78
|
+
## 5. Rollback cost
|
|
79
|
+
|
|
80
|
+
Low-medium. `runTelegramSetup` is fully replaced (not patched), so
|
|
81
|
+
revert restores the broken codex-spawn version. The other two fixes
|
|
82
|
+
are small enough to revert independently if needed.
|
|
83
|
+
|
|
84
|
+
## 6. Backwards compatibility / drift surface
|
|
85
|
+
|
|
86
|
+
Fully backwards-compatible.
|
|
87
|
+
|
|
88
|
+
- Codex-runtime users: get a working Telegram setup. Previously
|
|
89
|
+
got broken silent-success.
|
|
90
|
+
- Claude-runtime users: zero change.
|
|
91
|
+
- Existing `instar add telegram` CLI command (the post-setup
|
|
92
|
+
fallback): unchanged. If the wizard skips Telegram, the user can
|
|
93
|
+
still run `instar add telegram` later — and the `writeTelegram
|
|
94
|
+
Config` helper writes the EXACT same schema, so the two flows
|
|
95
|
+
produce identical config.
|
|
96
|
+
- No config schema change. No agent-installed-files change. No
|
|
97
|
+
`PostUpdateMigrator` work.
|
|
98
|
+
|
|
99
|
+
## 7. Authorization / Trust posture
|
|
100
|
+
|
|
101
|
+
No new authority. `fetch` calls to api.telegram.org happen with the
|
|
102
|
+
user's bot token (which they paste into the wizard). The wizard
|
|
103
|
+
runs in-process, same trust level as everything else in setup.
|
|
104
|
+
|
|
105
|
+
## Outcome
|
|
106
|
+
|
|
107
|
+
Ship. Closes three real-user bugs surfaced on the v1.2.14 install
|
|
108
|
+
test. Replaces the broken codex-spawn Telegram setup with an
|
|
109
|
+
instar-native flow that's robust across all environments
|
|
110
|
+
(Playwright available or not, Codex behavior aside). Echo and
|
|
111
|
+
add-user fixes are small companions that round out the v1.2.15
|
|
112
|
+
delivery.
|