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.
@@ -1 +1 @@
1
- {"version":3,"file":"codex-driver.d.ts","sourceRoot":"","sources":["../../../src/commands/setup-wizard/codex-driver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAeH,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;AA+ZD;;GAEG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiC/E"}
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, spawn, spawnSync } from 'node:child_process';
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
- return askUser(' > ');
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
- execFileSync('npx', ['instar', 'user', 'add', '-d', options.projectDir, '--id', id, '--name', name], { stdio: 'inherit' });
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
- execFileSync('npx', ['instar', 'server', 'start', '-d', options.projectDir], { stdio: 'inherit' });
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 — the agentic phase. Spawns Codex with a tight
343
- * Telegram-specific prompt and Playwright access. Codex's
344
- * execution-orientation is an asset here.
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
- const skillPath = path.join(options.instarRoot, '.claude', 'skills', 'setup-wizard', 'SKILL.md');
348
- // Inline Codex-specific Telegram-only prompt. The skill text isn't
349
- // perfect for Codex but the Telegram-via-Playwright phase is
350
- // primarily execution (open browser, click buttons, capture token),
351
- // which Codex handles well.
352
- const telegramPrompt = `
353
- You are completing the Telegram messaging setup for an instar agent
354
- already initialized at ${options.projectDir}.
355
-
356
- Your task is OPERATIONAL and BOUNDED:
357
- 1. Open Telegram Web in a browser via Playwright (if Playwright MCP
358
- tools are available; otherwise fall back to printing manual steps).
359
- 2. Help the user create a bot via BotFather.
360
- 3. Capture the bot token and chat ID.
361
- 4. Write them to .instar/config.json under messaging[].config.
362
-
363
- When you have the token + chat ID and have written them, exit. Do NOT
364
- proceed past Telegram setup — the rest of the wizard is owned by
365
- instar's state machine.
366
-
367
- If Playwright is not available, print clear manual steps (open
368
- t.me/BotFather, type /newbot, etc.) and prompt the user for the token
369
- and chat ID. Then write them to config.
370
-
371
- Reference skill (for the wizard sections about Telegram if you need
372
- detail): ${skillPath}
373
- `.trim();
374
- return new Promise((resolve) => {
375
- const child = spawn(options.codexPath, [
376
- 'exec',
377
- '--dangerously-bypass-approvals-and-sandbox',
378
- '-m', WIZARD_CODEX_MODEL,
379
- telegramPrompt,
380
- ], {
381
- cwd: options.projectDir,
382
- stdio: 'inherit',
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
- child.on('close', () => resolve({ telegramConfigured: true }));
385
- child.on('error', () => resolve({ telegramConfigured: false }));
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,6 +1,6 @@
1
1
  {
2
2
  "name": "instar",
3
- "version": "1.2.14",
3
+ "version": "1.2.15",
4
4
  "description": "Persistent autonomy infrastructure for AI agents",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "$schema": "./builtin-manifest.schema.json",
3
3
  "schemaVersion": 1,
4
- "generatedAt": "2026-05-21T23:32:22.253Z",
5
- "instarVersion": "1.2.14",
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.