@kendoo.agentdesk/agentdesk 0.19.2 → 0.19.3

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/CHANGELOG.md CHANGED
@@ -13,6 +13,11 @@ Internal refactors, infrastructure changes, and architectural notes are not list
13
13
  ### Added
14
14
  - `[UI]` Private-session sharing flow. When someone visits a session URL they don't own, they now see a friendly "Shh… this one's private" page with a one-click "Request access" button instead of a blank error. The session owner sees pending requests in a new header inbox and can grant viewer access for just that session or the whole project. Viewer-granted sessions show up in the teammate's sidebar tagged as a viewer.
15
15
 
16
+ ## [0.19.3] — 2026-04-19
17
+
18
+ ### Fixed
19
+ - `[CLI]` `agentdesk init` no longer silently saves tracker credentials that fail verification. Previously a typo in the email, a revoked API token, or a wrong tenant URL would print a one-line warning and proceed — leaving the user with a "valid-looking" `.env` that then failed at `agentdesk team` time with a generic "authentication failed" message. Init now prompts to re-enter credentials, save anyway, or cancel, so broken config is caught at the moment it's typed instead of the next time a session is started.
20
+
16
21
  ## [0.19.2] — 2026-04-18
17
22
 
18
23
  ### Fixed
package/cli/init.mjs CHANGED
@@ -406,16 +406,54 @@ export async function runInit(cwd, opts = {}) {
406
406
  config.github = { repo, login };
407
407
  }
408
408
 
409
- // Verify tracker + fetch available projects to pick from.
409
+ // Verify tracker + fetch available projects to pick from. If verification
410
+ // fails (bad email, revoked token, typo in base URL), loop back and let the
411
+ // user re-enter credentials rather than silently saving broken config.
410
412
  let trackerLocation = null;
411
413
  if (tracker === "jira") trackerLocation = config.jira?.baseUrl;
414
+ let verified = { ok: true };
412
415
  if (tracker) {
413
- const verified = await verifyAndPickTrackerProject({ rl, cwd, finalProjectKey, tracker, config, location: trackerLocation });
414
- if (!verified.ok) {
415
- console.log(" Continuing without tracker verification.");
416
- console.log(" You can re-run `agentdesk init` after fixing credentials.");
416
+ while (true) {
417
+ verified = await verifyAndPickTrackerProject({ rl, cwd, finalProjectKey, tracker, config, location: trackerLocation });
418
+ if (verified.ok) break;
417
419
  console.log("");
418
- } else if (verified.trackerProjectId) {
420
+ const next = await selectOption(rl, "What now?", [
421
+ { label: "Re-enter credentials and try again", value: "retry" },
422
+ { label: "Save config anyway (will need to fix before `agentdesk team`)", value: "skip" },
423
+ { label: "Cancel init", value: "cancel" },
424
+ ]);
425
+ console.log("");
426
+ if (next.value === "cancel") {
427
+ rl.close();
428
+ return;
429
+ }
430
+ if (next.value === "skip") break;
431
+ // Retry: re-prompt only the tracker auth fields, not the whole wizard.
432
+ if (tracker === "linear") {
433
+ const key = await promptRequired(rl, "Linear API key");
434
+ saveEnvVar(cwd, "LINEAR_API_KEY", key);
435
+ console.log(" ✓ Updated LINEAR_API_KEY in .env");
436
+ console.log("");
437
+ } else if (tracker === "jira") {
438
+ const baseUrl = (await ask(rl, ` Jira tenant URL [${config.jira?.baseUrl || ""}]: `)).trim() || config.jira?.baseUrl;
439
+ const email = await promptRequired(rl, "Your Atlassian login email");
440
+ const token = await promptRequired(rl, "Jira API token");
441
+ saveEnvVar(cwd, "JIRA_EMAIL", email);
442
+ saveEnvVar(cwd, "JIRA_API_TOKEN", token);
443
+ if (baseUrl) {
444
+ config.jira = { ...(config.jira || {}), baseUrl: baseUrl.replace(/\/+$/, "") };
445
+ trackerLocation = config.jira.baseUrl;
446
+ }
447
+ console.log(" ✓ Updated JIRA_EMAIL and JIRA_API_TOKEN in .env");
448
+ console.log("");
449
+ } else if (tracker === "github") {
450
+ const token = await promptRequired(rl, "GitHub token");
451
+ saveEnvVar(cwd, "GITHUB_TOKEN", token);
452
+ console.log(" ✓ Updated GITHUB_TOKEN in .env");
453
+ console.log("");
454
+ }
455
+ }
456
+ if (verified.ok && verified.trackerProjectId) {
419
457
  if (tracker === "linear") config.linear = { ...(config.linear || {}), teamKey: verified.trackerProjectId };
420
458
  if (tracker === "jira") config.jira = { ...(config.jira || {}), project: verified.trackerProjectId };
421
459
  // Use the tracker's project key as the default agentdesk project key.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kendoo.agentdesk/agentdesk",
3
- "version": "0.19.2",
3
+ "version": "0.19.3",
4
4
  "description": "AI team orchestrator for Claude Code — run collaborative agent sessions from your terminal",
5
5
  "type": "module",
6
6
  "bin": {