@kendoo.agentdesk/agentdesk 0.20.0 → 0.20.1
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 +8 -0
- package/cli/init.mjs +19 -15
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -13,6 +13,14 @@ 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.20.1] — 2026-04-19
|
|
17
|
+
|
|
18
|
+
### Fixed
|
|
19
|
+
- `[CLI]` Removed the "Walk through the full setup again" option from the existing-project refresh menu. Picking it was a footgun — it dropped users into the new-project wizard which re-asked the tracker type from scratch, ignoring the tracker already configured on the server. The refresh menu now only offers "Refresh tokens" and "Cancel". To genuinely reconfigure from scratch, pass `agentdesk init --force-full` or delete `.agentdesk.json` first.
|
|
20
|
+
|
|
21
|
+
### Changed
|
|
22
|
+
- `[CLI]` Existing-project flow fetches server settings as the first visible action. Subsequent prompts reference the known repo (e.g. "GitHub token — needed to push to owner/repo") instead of asking generically. Nothing is re-asked that's already configured on agentdesk.live.
|
|
23
|
+
|
|
16
24
|
## [0.20.0] — 2026-04-19
|
|
17
25
|
|
|
18
26
|
### Changed
|
package/cli/init.mjs
CHANGED
|
@@ -132,18 +132,23 @@ async function runExistingFlow(cwd, apiKey, projectKey) {
|
|
|
132
132
|
console.log(" ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
|
|
133
133
|
console.log("");
|
|
134
134
|
|
|
135
|
-
// Fetch server config
|
|
135
|
+
// --- E3 (was E5): Fetch server config first, so every later prompt can
|
|
136
|
+
// reference the project's known tracker/repo instead of re-asking.
|
|
137
|
+
process.stdout.write(" Fetching project settings from agentdesk.live... ");
|
|
136
138
|
const config = await loadConfig(currentCwd, { apiKey, serverUrl: SERVER, projectName: projectKey, silent: true });
|
|
137
|
-
console.log(
|
|
138
|
-
|
|
139
|
-
if (config.
|
|
139
|
+
console.log("✓");
|
|
140
|
+
console.log(` Project: ${projectKey}`);
|
|
141
|
+
if (config.tracker) console.log(` Tracker: ${config.tracker}`);
|
|
142
|
+
if (config.github?.repo) console.log(` Repo: ${config.github.repo}`);
|
|
140
143
|
console.log("");
|
|
141
144
|
|
|
142
|
-
// --- E3: GitHub token
|
|
145
|
+
// --- E4 (was E3): GitHub token. Names the repo it's for so the user
|
|
146
|
+
// knows why we're asking.
|
|
143
147
|
let env = loadDotEnv(currentCwd);
|
|
144
148
|
let githubToken = env.GITHUB_TOKEN;
|
|
145
149
|
if (!githubToken) {
|
|
146
|
-
|
|
150
|
+
const repoHint = config.github?.repo ? ` (needed to push to ${config.github.repo})` : "";
|
|
151
|
+
console.log(` GitHub token${repoHint} — create one at https://github.com/settings/tokens, scope: repo`);
|
|
147
152
|
githubToken = await promptRequired("GitHub token");
|
|
148
153
|
saveEnvVar(currentCwd, "GITHUB_TOKEN", githubToken);
|
|
149
154
|
console.log(" ✓ Saved GITHUB_TOKEN to .env");
|
|
@@ -471,7 +476,11 @@ export async function runInit(cwd, opts = {}) {
|
|
|
471
476
|
|
|
472
477
|
// --- E1: Detection ---
|
|
473
478
|
if (!forceFull && local?.projectKey) {
|
|
474
|
-
// Modern config — gap-scan by default.
|
|
479
|
+
// Modern config — gap-scan by default. No "Full setup" option here:
|
|
480
|
+
// walking the new-project wizard on an already-configured project
|
|
481
|
+
// would re-ask for the tracker as if it weren't on the server, which
|
|
482
|
+
// was the classic footgun. Users who genuinely want to reconfigure
|
|
483
|
+
// from scratch should pass --force-full (or delete .agentdesk.json).
|
|
475
484
|
console.log("");
|
|
476
485
|
console.log(" AgentDesk — existing project detected");
|
|
477
486
|
console.log(" ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
|
|
@@ -480,18 +489,13 @@ export async function runInit(cwd, opts = {}) {
|
|
|
480
489
|
message: "What would you like to do?",
|
|
481
490
|
default: "refresh",
|
|
482
491
|
choices: [
|
|
483
|
-
{ name: "Refresh tokens (update .env only
|
|
484
|
-
{ name: "Walk through the full setup again", value: "full" },
|
|
492
|
+
{ name: "Refresh tokens (update .env only)", value: "refresh" },
|
|
485
493
|
{ name: "Cancel", value: "cancel" },
|
|
486
494
|
],
|
|
487
495
|
});
|
|
488
496
|
if (choice === "cancel") return;
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
return;
|
|
492
|
-
}
|
|
493
|
-
// choice === "full" → fall through to new-project wizard
|
|
494
|
-
return await runNewProjectWizard(cwd, apiKey);
|
|
497
|
+
await runExistingFlow(cwd, apiKey, local.projectKey);
|
|
498
|
+
return;
|
|
495
499
|
}
|
|
496
500
|
|
|
497
501
|
if (!forceFull && local && !local.projectKey) {
|