@productbrain/cli 0.1.0-beta.9253 → 0.1.0-beta.9261
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/__tests__/login.test.js +18 -1
- package/dist/__tests__/login.test.js.map +1 -1
- package/dist/__tests__/profiles.test.js +31 -1
- package/dist/__tests__/profiles.test.js.map +1 -1
- package/dist/commands/connect-config.test.js +11 -3
- package/dist/commands/connect-config.test.js.map +1 -1
- package/dist/commands/connect-integration.test.js +9 -5
- package/dist/commands/connect-integration.test.js.map +1 -1
- package/dist/commands/connect-legacy-migration.test.js +19 -19
- package/dist/commands/connect-legacy-migration.test.js.map +1 -1
- package/dist/commands/connect.d.ts +7 -9
- package/dist/commands/connect.d.ts.map +1 -1
- package/dist/commands/connect.js +70 -125
- package/dist/commands/connect.js.map +1 -1
- package/dist/commands/connect.test.js +73 -141
- package/dist/commands/connect.test.js.map +1 -1
- package/dist/commands/login.d.ts.map +1 -1
- package/dist/commands/login.js +15 -11
- package/dist/commands/login.js.map +1 -1
- package/dist/lib/connectProfileName.d.ts +36 -0
- package/dist/lib/connectProfileName.d.ts.map +1 -0
- package/dist/lib/connectProfileName.js +72 -0
- package/dist/lib/connectProfileName.js.map +1 -0
- package/dist/lib/connectProfileName.test.d.ts +2 -0
- package/dist/lib/connectProfileName.test.d.ts.map +1 -0
- package/dist/lib/connectProfileName.test.js +100 -0
- package/dist/lib/connectProfileName.test.js.map +1 -0
- package/dist/lib/errors.d.ts +3 -4
- package/dist/lib/errors.d.ts.map +1 -1
- package/dist/lib/errors.js +3 -4
- package/dist/lib/errors.js.map +1 -1
- package/dist/lib/profiles.d.ts +10 -8
- package/dist/lib/profiles.d.ts.map +1 -1
- package/dist/lib/profiles.js +15 -15
- package/dist/lib/profiles.js.map +1 -1
- package/package.json +1 -1
package/dist/commands/connect.js
CHANGED
|
@@ -5,13 +5,14 @@
|
|
|
5
5
|
* key locally, runs Ink screens, then prints a tailored chat-handoff instruction
|
|
6
6
|
* (WP-433 FEAT-1291).
|
|
7
7
|
*/
|
|
8
|
-
import { existsSync, mkdirSync,
|
|
8
|
+
import { existsSync, mkdirSync, writeFileSync } from 'fs';
|
|
9
9
|
import { resolve } from 'path';
|
|
10
10
|
import { resolveAppUrl, resolveConnectRedeemUrl } from '../lib/constants.js';
|
|
11
11
|
import { CONNECT_REDEEM_DEFAULT_API_KEY_NAME, trimClientKeyLabelInput, } from '../lib/connectKeyLabel.js';
|
|
12
12
|
import { CONNECT_TOKEN_PREFIX } from '../lib/tokenConstants.js';
|
|
13
13
|
import { CLIError, ErrorCode } from '../lib/errors.js';
|
|
14
|
-
import { createProfile,
|
|
14
|
+
import { createProfile, autoMigrate, profileFileExists, validateProfileName } from '../lib/profiles.js';
|
|
15
|
+
import { connectFolderName, pickConnectProfileName } from '../lib/connectProfileName.js';
|
|
15
16
|
import { withSpinner } from '../lib/spinner.js';
|
|
16
17
|
import { stripControlChars } from '../lib/strip.js';
|
|
17
18
|
import * as clack from '@clack/prompts';
|
|
@@ -127,133 +128,79 @@ async function redeemToken(token, siteUrl, optionalDisplayName) {
|
|
|
127
128
|
});
|
|
128
129
|
}
|
|
129
130
|
/**
|
|
130
|
-
*
|
|
131
|
-
*
|
|
131
|
+
* Refuse a `PB_PROFILE` target that already exists — BEFORE the one-time token is redeemed, so
|
|
132
|
+
* the token stays unspent (TASK-638). A redeem always mints a new key, so an existing profile of
|
|
133
|
+
* that name necessarily holds different credentials; overwriting it would silently cut off
|
|
134
|
+
* whichever folder uses it. The name is validated before autoMigrate() touches any file
|
|
135
|
+
* (TEN-4503); migration runs before the occupancy check so a legacy install counts as `default`.
|
|
132
136
|
*/
|
|
133
|
-
function
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
137
|
+
function assertEnvProfileIsFree(envProfile) {
|
|
138
|
+
validateProfileName(envProfile);
|
|
139
|
+
autoMigrate();
|
|
140
|
+
if (!profileFileExists(envProfile))
|
|
141
|
+
return;
|
|
142
|
+
throw new CLIError(`Profile "${envProfile}" (from PB_PROFILE) already exists — refusing to overwrite it.`, {
|
|
143
|
+
code: ErrorCode.PROFILE_CREDENTIALS_CONFLICT,
|
|
144
|
+
category: 'profile',
|
|
145
|
+
guidance: 'Unset PB_PROFILE to let pb connect name the profile after this workspace and folder, or set ' +
|
|
146
|
+
'PB_PROFILE to a name no profile uses yet. Your token has not been used — the same token still works.',
|
|
147
|
+
});
|
|
139
148
|
}
|
|
140
149
|
/**
|
|
141
|
-
*
|
|
142
|
-
*
|
|
143
|
-
*
|
|
144
|
-
* `slugify(workspaceName)` — so a connect run under an explicit `PB_PROFILE=<name>` silently
|
|
145
|
-
* wrote credentials under a DIFFERENT, auto-derived slug instead of the profile the caller
|
|
146
|
-
* named, and — because saveKeyAsProfile unconditionally overwrites an existing profile file of
|
|
147
|
-
* the same name (the "re-connect" branch) — a slug collision with an unrelated existing profile
|
|
148
|
-
* (e.g. the machine's `owner` profile) silently clobbered it. Honoring PB_PROFILE here matches
|
|
149
|
-
* the resolution order everywhere else and makes the target profile the caller's explicit
|
|
150
|
-
* choice, not an accidental slug collision.
|
|
150
|
+
* The profile this connect writes (DEC-1961): PB_PROFILE when set (already checked free before
|
|
151
|
+
* redeem), else `<workspace>-<folder>` from pickConnectProfileName — this folder's own pin is
|
|
152
|
+
* replaced in place (a key rotation), another folder's profile is never touched.
|
|
151
153
|
*/
|
|
152
|
-
function
|
|
153
|
-
const envProfile = process.env.PB_PROFILE?.trim();
|
|
154
|
+
function resolveConnectProfile(workspaceName, envProfile) {
|
|
154
155
|
if (envProfile)
|
|
155
|
-
return { profileName: envProfile,
|
|
156
|
-
|
|
156
|
+
return { profileName: envProfile, replace: false };
|
|
157
|
+
autoMigrate();
|
|
158
|
+
const choice = pickConnectProfileName({
|
|
159
|
+
workspaceName,
|
|
160
|
+
folderName: connectFolderName(process.cwd()),
|
|
161
|
+
ownPin: readLocalProjectConfig()?.profile ?? null,
|
|
162
|
+
isTaken: profileFileExists,
|
|
163
|
+
});
|
|
164
|
+
if (choice)
|
|
165
|
+
return choice;
|
|
166
|
+
throw new CLIError(`Every profile name for "${workspaceName}" in this folder is taken.`, {
|
|
167
|
+
code: ErrorCode.PROFILE_ALREADY_EXISTS,
|
|
168
|
+
category: 'profile',
|
|
169
|
+
guidance: 'Delete unused profiles with `pb profile delete <name>`, or set PB_PROFILE=<new-name> and request a fresh onboarding link.',
|
|
170
|
+
});
|
|
157
171
|
}
|
|
158
172
|
/**
|
|
159
|
-
* Save API key
|
|
160
|
-
*
|
|
161
|
-
*
|
|
162
|
-
* current process only (so handshake works).
|
|
163
|
-
*
|
|
164
|
-
* TEN-2851: never a silent side-effect of a workspace-name slug collision. Order of
|
|
165
|
-
* operations, each closing a review-found gap (WP-628):
|
|
166
|
-
* 1. `validateProfileName` FIRST — before any path resolution (Copilot review: the read
|
|
167
|
-
* below resolves an untrusted `PB_PROFILE` into a path with no sanitization of its own).
|
|
168
|
-
* 2. `autoMigrate()` next — before the occupancy check (Codex P1): a legacy-only install
|
|
169
|
-
* (`~/.config/productbrain/.env`, no profiles dir yet) must migrate before `createProfile`
|
|
170
|
-
* below can create that dir first — which would make a LATER, unrelated `autoMigrate()`
|
|
171
|
-
* call DELETE the legacy file unmigrated ("profiles dir exists" → remove-legacy branch).
|
|
172
|
-
* 3. Occupancy is FILE existence OR a parsed config (Codex P2): `resolveNamedProfileConfig`
|
|
173
|
-
* returns null for both "absent" and "exists but malformed" (e.g. missing
|
|
174
|
-
* `PRODUCTBRAIN_API_KEY`); `profileFileExists` tells them apart so malformed is never
|
|
175
|
-
* misclassified as absent.
|
|
176
|
-
* 4. Absent → create; SAME credentials → idempotent no-op; occupied (different creds OR
|
|
177
|
-
* malformed) → explicit act required: confirm interactively, or fail-closed
|
|
178
|
-
* non-interactively (mirrors assertConnectableNonInteractively, :287-300) — independent
|
|
179
|
-
* of `--yes`/assumeYes (only governs confirmWorkspaceBinding). Escape hatch: a NAMED
|
|
180
|
-
* `PB_PROFILE=<other-name>` target, never a force flag. Discovered only after the token
|
|
181
|
-
* is redeemed, so a refusal burns it — same trade-off as the decline path below.
|
|
182
|
-
*
|
|
183
|
-
* @returns true if the profile now holds these credentials (created, already matched, or
|
|
184
|
-
* explicitly overwritten); false if the caller declined an interactive overwrite (nothing
|
|
185
|
-
* written).
|
|
173
|
+
* Save the API key under the chosen profile. Does NOT activate it globally — the folder's pin
|
|
174
|
+
* (config.local.json) selects it. Sets process.env for the current process only (so the
|
|
175
|
+
* post-connect context sync works).
|
|
186
176
|
*/
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
autoMigrate();
|
|
190
|
-
const existingConfig = resolveNamedProfileConfig(profileName);
|
|
191
|
-
const occupied = existingConfig !== null || profileFileExists(profileName);
|
|
192
|
-
if (!occupied) {
|
|
193
|
-
// No profile of this name yet — plain create.
|
|
194
|
-
createProfile(profileName, apiKey, siteUrl);
|
|
195
|
-
}
|
|
196
|
-
else if (existingConfig !== null && existingConfig.apiKey === apiKey && (existingConfig.siteUrl ?? '') === (siteUrl ?? '')) {
|
|
197
|
-
// Idempotent re-connect: identical credentials already saved. No write.
|
|
198
|
-
}
|
|
199
|
-
else {
|
|
200
|
-
// Occupied by different credentials OR a malformed file — the TEN-2851 clobber case.
|
|
201
|
-
const conflictReason = existingConfig === null
|
|
202
|
-
? 'exists but is unreadable (missing or empty PRODUCTBRAIN_API_KEY)'
|
|
203
|
-
: 'already holds different credentials';
|
|
204
|
-
if (!isInteractive()) {
|
|
205
|
-
throw new CLIError(`Profile "${profileName}" ${conflictReason} — refusing to overwrite it.`, {
|
|
206
|
-
code: ErrorCode.PROFILE_CREDENTIALS_CONFLICT,
|
|
207
|
-
category: 'profile',
|
|
208
|
-
guidance: `This is not an interactive terminal, so the overwrite cannot be confirmed. ` +
|
|
209
|
-
`Connect under a different profile name instead: \`PB_PROFILE=<other-name> pb connect <token> --yes\`. ` +
|
|
210
|
-
`Note: the one-time token has already been used — request a fresh onboarding link to retry.`,
|
|
211
|
-
});
|
|
212
|
-
}
|
|
213
|
-
const overwrite = await confirm({
|
|
214
|
-
message: `Profile "${profileName}" ${conflictReason}. Overwrite it?`,
|
|
215
|
-
initialValue: false,
|
|
216
|
-
});
|
|
217
|
-
if (!overwrite) {
|
|
218
|
-
return false;
|
|
219
|
-
}
|
|
177
|
+
function saveKeyAsProfile(apiKey, siteUrl, profileName, replace) {
|
|
178
|
+
if (replace)
|
|
220
179
|
createProfile(profileName, apiKey, siteUrl, { overwrite: true });
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
// Project config pins the workspace per-project instead.
|
|
180
|
+
else
|
|
181
|
+
createProfile(profileName, apiKey, siteUrl);
|
|
224
182
|
process.env.PRODUCTBRAIN_API_KEY = apiKey;
|
|
225
183
|
process.env.CONVEX_SITE_URL = siteUrl;
|
|
226
|
-
return true;
|
|
227
184
|
}
|
|
228
185
|
/**
|
|
229
|
-
*
|
|
230
|
-
* Returns the prior repo profile pin so the caller can detect a workspace redirect.
|
|
186
|
+
* Pin this folder to the profile. Returns the prior pin so the caller can detect a redirect.
|
|
231
187
|
*
|
|
232
|
-
*
|
|
233
|
-
*
|
|
234
|
-
*
|
|
235
|
-
* -
|
|
236
|
-
*
|
|
237
|
-
* and `pb connect`).
|
|
188
|
+
* - config.json (committed): its PRESENCE declares a Product Brain project
|
|
189
|
+
* (projectConfig.ts findProjectRoot / projectConfigExists). Created empty when absent; its
|
|
190
|
+
* content is never read, so connect never rewrites it (TASK-638: the siteUrl writer had no
|
|
191
|
+
* reader since TEN-4500).
|
|
192
|
+
* - config.local.json (gitignored): the profile pin, via the shared setLocalProfilePin().
|
|
238
193
|
*
|
|
239
194
|
* Does NOT include the API key anywhere — that stays in profiles, never committed.
|
|
240
195
|
*/
|
|
241
|
-
export function saveProjectConfig(
|
|
196
|
+
export function saveProjectConfig(profileName) {
|
|
242
197
|
const configDir = resolve(process.cwd(), '.productbrain');
|
|
243
198
|
const configPath = resolve(configDir, 'config.json');
|
|
244
199
|
mkdirSync(configDir, { recursive: true });
|
|
245
200
|
// Capture the prior repo pin BEFORE we overwrite it (redirect detection).
|
|
246
201
|
const previous = readLocalProjectConfig()?.profile ?? null;
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
if (existsSync(configPath)) {
|
|
250
|
-
try {
|
|
251
|
-
existingCommitted = JSON.parse(readFileSync(configPath, 'utf8'));
|
|
252
|
-
}
|
|
253
|
-
catch { /* ignore */ }
|
|
254
|
-
}
|
|
255
|
-
delete existingCommitted['profile'];
|
|
256
|
-
writeFileSync(configPath, JSON.stringify({ ...existingCommitted, siteUrl }, null, 2) + '\n');
|
|
202
|
+
if (!existsSync(configPath))
|
|
203
|
+
writeFileSync(configPath, '{}\n');
|
|
257
204
|
// --- config.local.json: profile pin (gitignored) via the shared writer ---
|
|
258
205
|
setLocalProfilePin(process.cwd(), profileName);
|
|
259
206
|
return { previousProfile: previous && previous !== profileName ? previous : null };
|
|
@@ -348,9 +295,11 @@ export async function runConnect(token, options = {}) {
|
|
|
348
295
|
}
|
|
349
296
|
// 2. Resolve cloud Convex gateway (--gateway → env → CONVEX_SITE_URL → production)
|
|
350
297
|
const siteUrl = resolveConnectRedeemUrl(options.gateway);
|
|
351
|
-
//
|
|
352
|
-
|
|
353
|
-
|
|
298
|
+
// PB_PROFILE is checked BEFORE redeemToken burns the token: a bad name (TEN-4503) or an
|
|
299
|
+
// existing profile (TASK-638) is refused while the token still works.
|
|
300
|
+
const envProfile = process.env.PB_PROFILE?.trim() || undefined;
|
|
301
|
+
if (envProfile)
|
|
302
|
+
assertEnvProfileIsFree(envProfile);
|
|
354
303
|
// 3. Confirm-first gate, part 1 (WP-2): refuse a non-interactive connect that can't run
|
|
355
304
|
// the workspace-confirm BEFORE redeeming, so the one-time token is never burned on a
|
|
356
305
|
// gate we were always going to fail. --yes is the explicit headless opt-in.
|
|
@@ -359,7 +308,7 @@ export async function runConnect(token, options = {}) {
|
|
|
359
308
|
const result = await redeemToken(token, siteUrl, redeemLabel);
|
|
360
309
|
// workspaceName is server-controlled — strip ANSI/control chars before it reaches any
|
|
361
310
|
// terminal output (prompt, errors, the wizard) to prevent terminal escape injection
|
|
362
|
-
// (BET-269 C3 baseline).
|
|
311
|
+
// (BET-269 C3 baseline). composeProfileName() independently slugs the profile/file name.
|
|
363
312
|
const workspaceName = stripControlChars(result.workspaceName);
|
|
364
313
|
// 4. Confirm-first gate, part 2 (WP-2): name the workspace and bind only after the
|
|
365
314
|
// operator confirms — BEFORE any local write. Decline ⇒ nothing written; machine untouched.
|
|
@@ -370,22 +319,18 @@ export async function runConnect(token, options = {}) {
|
|
|
370
319
|
return;
|
|
371
320
|
}
|
|
372
321
|
// 5. Save API key as named profile + pin project config
|
|
373
|
-
const { profileName,
|
|
374
|
-
if (
|
|
375
|
-
process.stderr.write(`PB_PROFILE is set
|
|
376
|
-
`(instead of an auto-derived name from the workspace).\n`);
|
|
322
|
+
const { profileName, replace } = resolveConnectProfile(workspaceName, envProfile);
|
|
323
|
+
if (envProfile) {
|
|
324
|
+
process.stderr.write(`PB_PROFILE is set — saving this connection as profile "${profileName}".\n`);
|
|
377
325
|
}
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
process.stderr.write(`
|
|
384
|
-
|
|
385
|
-
`under a different name: \`PB_PROFILE=<other-name> pb connect <token>\`.\n`);
|
|
386
|
-
return;
|
|
326
|
+
saveKeyAsProfile(result.apiKey, siteUrl, profileName, replace);
|
|
327
|
+
const { previousProfile } = saveProjectConfig(profileName);
|
|
328
|
+
if (replace) {
|
|
329
|
+
// The profile stores no workspace id, so a same-named workspace could sit behind it now: say
|
|
330
|
+
// which workspace it holds and drop sessions bound to the old key.
|
|
331
|
+
process.stderr.write(`This folder's profile "${profileName}" now holds a new key for workspace "${workspaceName}".\n`);
|
|
332
|
+
discardAllSessions();
|
|
387
333
|
}
|
|
388
|
-
const { previousProfile } = saveProjectConfig(siteUrl, profileName);
|
|
389
334
|
if (previousProfile) {
|
|
390
335
|
process.stderr.write(`⚠ This repo was connected to "${previousProfile}"; now redirecting to "${profileName}" (${workspaceName}). Previous session was reset — run \`pb session start\` to begin a new one.\n`);
|
|
391
336
|
// The repo's effective workspace changed — drop ALL stale session markers (Codex review fix:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../../src/commands/connect.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../../src/commands/connect.ts"],"names":[],"mappings":"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"}
|