@productbrain/cli 0.1.0-beta.4809 → 0.1.0-beta.4826

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.
Files changed (59) hide show
  1. package/dist/__tests__/capture.test.js +97 -0
  2. package/dist/__tests__/capture.test.js.map +1 -1
  3. package/dist/__tests__/config-prod-fallthrough.test.js +23 -12
  4. package/dist/__tests__/config-prod-fallthrough.test.js.map +1 -1
  5. package/dist/__tests__/config.test.js +343 -11
  6. package/dist/__tests__/config.test.js.map +1 -1
  7. package/dist/__tests__/init.test.js +51 -14
  8. package/dist/__tests__/init.test.js.map +1 -1
  9. package/dist/__tests__/state.test.js +21 -1
  10. package/dist/__tests__/state.test.js.map +1 -1
  11. package/dist/commands/__tests__/setup-state.test.js +1 -1
  12. package/dist/commands/__tests__/setup-state.test.js.map +1 -1
  13. package/dist/commands/capture.d.ts +4 -5
  14. package/dist/commands/capture.d.ts.map +1 -1
  15. package/dist/commands/capture.js +11 -10
  16. package/dist/commands/capture.js.map +1 -1
  17. package/dist/commands/doctor.d.ts.map +1 -1
  18. package/dist/commands/doctor.js +101 -35
  19. package/dist/commands/doctor.js.map +1 -1
  20. package/dist/commands/doctor.test.js +182 -6
  21. package/dist/commands/doctor.test.js.map +1 -1
  22. package/dist/commands/init.d.ts +1 -1
  23. package/dist/commands/init.d.ts.map +1 -1
  24. package/dist/commands/init.js +20 -9
  25. package/dist/commands/init.js.map +1 -1
  26. package/dist/commands/status.d.ts +7 -0
  27. package/dist/commands/status.d.ts.map +1 -0
  28. package/dist/commands/status.js +102 -0
  29. package/dist/commands/status.js.map +1 -0
  30. package/dist/commands/status.test.d.ts +2 -0
  31. package/dist/commands/status.test.d.ts.map +1 -0
  32. package/dist/commands/status.test.js +75 -0
  33. package/dist/commands/status.test.js.map +1 -0
  34. package/dist/commands/welcome.d.ts.map +1 -1
  35. package/dist/commands/welcome.js +5 -2
  36. package/dist/commands/welcome.js.map +1 -1
  37. package/dist/index.js +6 -115
  38. package/dist/index.js.map +1 -1
  39. package/dist/lib/config.d.ts +9 -22
  40. package/dist/lib/config.d.ts.map +1 -1
  41. package/dist/lib/config.js +37 -99
  42. package/dist/lib/config.js.map +1 -1
  43. package/dist/lib/configResult.d.ts +80 -0
  44. package/dist/lib/configResult.d.ts.map +1 -0
  45. package/dist/lib/configResult.js +176 -0
  46. package/dist/lib/configResult.js.map +1 -0
  47. package/dist/lib/localBinding.d.ts +51 -0
  48. package/dist/lib/localBinding.d.ts.map +1 -0
  49. package/dist/lib/localBinding.js +90 -0
  50. package/dist/lib/localBinding.js.map +1 -0
  51. package/dist/lib/projectConfig.d.ts +6 -0
  52. package/dist/lib/projectConfig.d.ts.map +1 -1
  53. package/dist/lib/projectConfig.js +14 -2
  54. package/dist/lib/projectConfig.js.map +1 -1
  55. package/dist/lib/state.d.ts +7 -0
  56. package/dist/lib/state.d.ts.map +1 -1
  57. package/dist/lib/state.js +7 -2
  58. package/dist/lib/state.js.map +1 -1
  59. package/package.json +1 -1
@@ -6,7 +6,7 @@
6
6
  */
7
7
  import { describe, it, expect, beforeEach, afterEach, vi } from 'vitest';
8
8
  import { mkdirSync, writeFileSync, readFileSync, rmSync } from 'fs';
9
- import { resolve } from 'path';
9
+ import { dirname, resolve } from 'path';
10
10
  import { tmpdir } from 'os';
11
11
  import { randomUUID } from 'crypto';
12
12
  // Mock the profiles module to prevent real profile config from leaking in
@@ -318,6 +318,208 @@ describe('config resolution', () => {
318
318
  expect(result.reason).toContain('No API key');
319
319
  }
320
320
  });
321
+ it('names the FILE, not CONVEX_SITE_URL, when a file supplied the non-HTTPS URL', () => {
322
+ // A file-sourced siteUrl outranks CONVEX_SITE_URL everywhere except an env-key override, so
323
+ // "set CONVEX_SITE_URL" would send the operator back through the same failure.
324
+ process.env.CONVEX_SITE_URL = 'https://this-would-never-win.example.com';
325
+ const pbDir = resolve(tempDir, '.productbrain');
326
+ mkdirSync(pbDir, { recursive: true });
327
+ writeFileSync(resolve(pbDir, 'config.local.json'), JSON.stringify({
328
+ apiKey: 'pb_sk_preview_key_0123456789abcdef',
329
+ siteUrl: 'http://insecure.example.com',
330
+ preview: true,
331
+ }));
332
+ resetConfigCache();
333
+ const result = getConfigSafe();
334
+ expect(result.ok).toBe(false);
335
+ if (!result.ok) {
336
+ expect(result.kind).toBe('invalid-url');
337
+ expect(result.reason).toMatch(/must use HTTPS/i);
338
+ // The binding supplies its own URL, so the repair is that file alone — naming a profile
339
+ // it may also pin would point at something that does not control this URL.
340
+ expect(result.guidance).toContain('.productbrain/config.local.json');
341
+ expect(result.guidance).not.toMatch(/profile/i);
342
+ expect(result.guidance).not.toMatch(/CONVEX_SITE_URL/);
343
+ }
344
+ });
345
+ it('names CONVEX_SITE_URL when the environment did supply the non-HTTPS URL', () => {
346
+ process.env.PRODUCTBRAIN_API_KEY = 'pb_sk_env_key';
347
+ process.env.CONVEX_SITE_URL = 'http://insecure.example.com';
348
+ resetConfigCache();
349
+ const result = getConfigSafe();
350
+ expect(result.ok).toBe(false);
351
+ if (!result.ok) {
352
+ expect(result.kind).toBe('invalid-url');
353
+ expect(result.guidance).toContain('CONVEX_SITE_URL');
354
+ }
355
+ });
356
+ // ── The URL's origin is NOT the credential's origin ────────────────────────────────────
357
+ //
358
+ // Every credential branch below step 2a prefers `.productbrain/config.json`'s siteUrl over
359
+ // its own, so a result labelled `profile`/`cwd` can still be carrying config.json's URL.
360
+ // Naming the credential's source would send the operator to edit a file that does not
361
+ // control the failing URL — the same failure, one detour later.
362
+ it('names config.json — not the profile — when config.json supplied the non-HTTPS URL', async () => {
363
+ const { resolveProfileConfig } = await import('../lib/profiles.js');
364
+ resolveProfileConfig.mockReturnValue({
365
+ apiKey: 'pb_sk_global_profile_key',
366
+ siteUrl: 'https://profile-would-have-been-fine.example.com',
367
+ });
368
+ const pbDir = resolve(tempDir, '.productbrain');
369
+ mkdirSync(pbDir, { recursive: true });
370
+ writeFileSync(resolve(pbDir, 'config.json'), JSON.stringify({ siteUrl: 'http://insecure.example.com' }));
371
+ resetConfigCache();
372
+ const result = getConfigSafe();
373
+ expect(result.ok).toBe(false);
374
+ if (!result.ok) {
375
+ expect(result.kind).toBe('invalid-url');
376
+ expect(result.guidance).toContain('.productbrain/config.json');
377
+ expect(result.guidance).not.toMatch(/profile/i);
378
+ expect(result.reason).toContain('.productbrain/config.json');
379
+ }
380
+ });
381
+ it('names config.json — not the .env file — when a CWD .env supplied the credential', () => {
382
+ const pbDir = resolve(tempDir, '.productbrain');
383
+ mkdirSync(pbDir, { recursive: true });
384
+ writeFileSync(resolve(pbDir, 'config.json'), JSON.stringify({ siteUrl: 'http://insecure.example.com' }));
385
+ writeFileSync(resolve(tempDir, '.env'), 'PRODUCTBRAIN_API_KEY=pb_sk_cwd_key\nCONVEX_SITE_URL=https://cwd-would-have-been-fine.example.com\n');
386
+ resetConfigCache();
387
+ const result = getConfigSafe();
388
+ expect(result.ok).toBe(false);
389
+ if (!result.ok) {
390
+ expect(result.kind).toBe('invalid-url');
391
+ expect(result.guidance).toContain('.productbrain/config.json');
392
+ expect(result.guidance).not.toMatch(/\.env file/);
393
+ }
394
+ });
395
+ it('names the profile the repo pin points at, not just "the profile it pins"', async () => {
396
+ const { resolveNamedProfileConfig } = await import('../lib/profiles.js');
397
+ resolveNamedProfileConfig.mockReturnValue({
398
+ apiKey: 'pb_sk_pinned_key_0123456789',
399
+ siteUrl: 'http://insecure.example.com',
400
+ });
401
+ const pbDir = resolve(tempDir, '.productbrain');
402
+ mkdirSync(pbDir, { recursive: true });
403
+ writeFileSync(resolve(pbDir, 'config.local.json'), JSON.stringify({ profile: 'pinned-workspace' }));
404
+ resetConfigCache();
405
+ const result = getConfigSafe();
406
+ expect(result.ok).toBe(false);
407
+ if (!result.ok) {
408
+ expect(result.kind).toBe('invalid-url');
409
+ expect(result.guidance).toContain('pinned-workspace');
410
+ }
411
+ });
412
+ it('names the CWD env file that actually won, not the generic .env', () => {
413
+ // CWD_ENV_PATHS scans .env.mcp first, so a generic "the .env file" label would send the
414
+ // operator to edit a file the cascade never read.
415
+ writeFileSync(resolve(tempDir, '.env.mcp'), 'PRODUCTBRAIN_API_KEY=pb_sk_cwd_key\nCONVEX_SITE_URL=http://insecure.example.com\n');
416
+ resetConfigCache();
417
+ const result = getConfigSafe();
418
+ expect(result.ok).toBe(false);
419
+ if (!result.ok) {
420
+ expect(result.kind).toBe('invalid-url');
421
+ expect(result.guidance).toContain('.env.mcp');
422
+ }
423
+ });
424
+ it('tells the operator to unset PRODUCTBRAIN_API_KEY — not to run pb login — for a bad exported key', () => {
425
+ // An exported key wins step 1 of the cascade, and `pb login` writes to a profile or the
426
+ // legacy home file — both of which lose to it. "Run pb login" would loop forever.
427
+ process.env.PRODUCTBRAIN_API_KEY = 'bad_prefix_key';
428
+ resetConfigCache();
429
+ const result = getConfigSafe();
430
+ expect(result.ok).toBe(false);
431
+ if (!result.ok) {
432
+ expect(result.kind).toBe('invalid-key');
433
+ expect(result.guidance).toMatch(/Unset PRODUCTBRAIN_API_KEY|replace it/);
434
+ // `pb login` may only be named to explain why it cannot help — never as the instruction.
435
+ expect(result.guidance).not.toMatch(/Run `pb login`/);
436
+ expect(result.guidance).toMatch(/cannot repair/);
437
+ expect(result.nextCommand).not.toBe('pb login');
438
+ }
439
+ });
440
+ it('still points a stored malformed key at pb login — login CAN repair that one', async () => {
441
+ const { resolveProfileConfig } = await import('../lib/profiles.js');
442
+ resolveProfileConfig.mockReturnValue({
443
+ apiKey: 'bad_prefix_key',
444
+ siteUrl: 'https://profile.example.com',
445
+ });
446
+ resetConfigCache();
447
+ const result = getConfigSafe();
448
+ expect(result.ok).toBe(false);
449
+ if (!result.ok) {
450
+ expect(result.kind).toBe('invalid-key');
451
+ expect(result.guidance).toMatch(/pb login/);
452
+ expect(result.nextCommand).toBe('pb login');
453
+ }
454
+ });
455
+ // ── Which profile actually supplied it ──────────────────────────────────────────────────
456
+ //
457
+ // resolveProfileConfig() reaches a credential four ways — PB_PROFILE, the active-profile
458
+ // marker, a `default` fallback, and the legacy ~/.config/productbrain/.env — and reports the
459
+ // winner's name. A fixed "the active profile" label sends the operator to edit a profile that
460
+ // supplied nothing, so the same failure comes straight back.
461
+ it('names the PB_PROFILE-selected profile, not "the active profile", for its non-HTTPS URL', async () => {
462
+ const { resolveProfileConfig, getGlobalActiveProfile } = await import('../lib/profiles.js');
463
+ // A DIFFERENT profile is globally active. PB_PROFILE outranks it in profiles.ts, which
464
+ // returns the selected name alongside the credential (profiles.ts resolveProfileConfig 1).
465
+ getGlobalActiveProfile.mockReturnValue('main-workspace');
466
+ process.env.PB_PROFILE = 'preview-workspace';
467
+ resolveProfileConfig.mockReturnValue({
468
+ apiKey: 'pb_sk_selected_profile_key',
469
+ siteUrl: 'http://insecure.example.com',
470
+ profileName: 'preview-workspace',
471
+ });
472
+ resetConfigCache();
473
+ const result = getConfigSafe();
474
+ expect(result.ok).toBe(false);
475
+ if (!result.ok) {
476
+ expect(result.kind).toBe('invalid-url');
477
+ expect(result.guidance).toContain('the profile "preview-workspace"');
478
+ expect(result.guidance).not.toContain('the active profile');
479
+ // The globally active profile did not supply this URL and must not be named.
480
+ expect(result.guidance).not.toContain('main-workspace');
481
+ }
482
+ });
483
+ it('names the `default` fallback profile for a malformed stored key', async () => {
484
+ const { resolveProfileConfig } = await import('../lib/profiles.js');
485
+ // No PB_PROFILE and no active-profile marker: profiles.ts falls back to `default`, which is
486
+ // a real file the operator can open — "the active profile" is not.
487
+ resolveProfileConfig.mockReturnValue({
488
+ apiKey: 'bad_prefix_key',
489
+ siteUrl: 'https://profile.example.com',
490
+ profileName: 'default',
491
+ });
492
+ resetConfigCache();
493
+ const result = getConfigSafe();
494
+ expect(result.ok).toBe(false);
495
+ if (!result.ok) {
496
+ expect(result.kind).toBe('invalid-key');
497
+ expect(result.reason).toContain('the profile "default"');
498
+ expect(result.reason).not.toContain('the active profile');
499
+ }
500
+ });
501
+ it('does NOT call the legacy home config "the active profile" — it is not a named profile', async () => {
502
+ // resolveConfig() step 4 labels the legacy ~/.config/productbrain/.env `profile`, but it
503
+ // carries no profile name at all, so naming a profile there would be a fabrication.
504
+ const { HOME_ENV_PATH } = await import('../lib/config.js');
505
+ mkdirSync(dirname(HOME_ENV_PATH), { recursive: true });
506
+ writeFileSync(HOME_ENV_PATH, 'PRODUCTBRAIN_API_KEY=bad_prefix_key\n');
507
+ try {
508
+ resetConfigCache();
509
+ const result = getConfigSafe();
510
+ expect(result.ok).toBe(false);
511
+ if (!result.ok) {
512
+ expect(result.kind).toBe('invalid-key');
513
+ expect(result.reason).not.toContain('the active profile');
514
+ expect(result.reason).toContain('the stored profile configuration');
515
+ }
516
+ }
517
+ finally {
518
+ // The fake home is shared by every test in this file; a stray legacy .env would supply a
519
+ // credential to the cases that assert none is found.
520
+ rmSync(HOME_ENV_PATH, { force: true });
521
+ }
522
+ });
321
523
  it('returns { ok: true } with correct source when key exists in env', () => {
322
524
  process.env.PRODUCTBRAIN_API_KEY = 'pb_sk_test_key';
323
525
  process.env.CONVEX_SITE_URL = 'https://test.example.com';
@@ -542,7 +744,7 @@ describe('config resolution', () => {
542
744
  expect(result.apiKey).toBe('pb_sk_profile_key');
543
745
  expect(result.source).toBe('project');
544
746
  });
545
- it('rejects apiKey that does not start with API_KEY_PREFIX', () => {
747
+ it('rejects a preview binding whose apiKey does not start with API_KEY_PREFIX', () => {
546
748
  const pbDir = resolve(tempDir, '.productbrain');
547
749
  mkdirSync(pbDir, { recursive: true });
548
750
  writeFileSync(resolve(pbDir, 'config.local.json'), JSON.stringify({
@@ -551,10 +753,9 @@ describe('config resolution', () => {
551
753
  preview: true,
552
754
  }));
553
755
  resetConfigCache();
554
- const result = resolveConfig();
555
- // Should not pick up the invalid-prefix key
556
- expect(result.apiKey).toBeUndefined();
557
- expect(result.source).toBe('default');
756
+ // A present-but-malformed key is unusable, not absent — the refusal must say so, or the
757
+ // operator goes looking for a key that is sitting right there in the file.
758
+ expect(() => resolveConfig()).toThrow(/incomplete preview binding.*not a valid pb_sk_ key/i);
558
759
  });
559
760
  it('SF-3: does NOT bind a preview apiKey that has no siteUrl (never borrows config.json gateway)', () => {
560
761
  const pbDir = resolve(tempDir, '.productbrain');
@@ -564,12 +765,143 @@ describe('config resolution', () => {
564
765
  // Preview key present but its OWN siteUrl is absent (hand-edit / partial preview.json).
565
766
  writeFileSync(resolve(pbDir, 'config.local.json'), JSON.stringify({ apiKey: 'pb_sk_preview_key_0123456789abcdef', preview: true }));
566
767
  resetConfigCache();
768
+ // The preview key must NOT be bound or allowed to fall through. Pairing it with
769
+ // config.json's real-dev gateway would send a preview credential to the wrong deployment.
770
+ expect(() => resolveConfig()).toThrow(/incomplete preview binding.*missing deployment URL/i);
771
+ });
772
+ it('S5: an incomplete preview binding is diagnosed before a sibling profile pin', async () => {
773
+ const { resolveNamedProfileConfig } = await import('../lib/profiles.js');
774
+ resolveNamedProfileConfig.mockReturnValue(null);
775
+ const pbDir = resolve(tempDir, '.productbrain');
776
+ mkdirSync(pbDir, { recursive: true });
777
+ writeFileSync(resolve(pbDir, 'config.local.json'), JSON.stringify({
778
+ profile: 'repo-pin',
779
+ apiKey: 'pb_sk_preview_key_0123456789abcdef',
780
+ preview: true,
781
+ workspaceName: 'Preview Workspace',
782
+ }));
783
+ resetConfigCache();
784
+ expect(() => resolveConfig()).toThrow(/incomplete preview binding.*missing deployment URL/i);
785
+ expect(() => getConfig()).toThrow(/incomplete preview binding.*missing deployment URL/i);
786
+ });
787
+ // ── Marker-less bindings: the claim is the credential, not the `preview` stamp ──────────
788
+ //
789
+ // A config.local.json carrying an apiKey is asserting which workspace this repo talks to
790
+ // whether or not `pb:preview` stamped `preview: true` — a hand-written or partially-scrubbed
791
+ // file is exactly the case that must not be skipped.
792
+ it('binds a marker-less apiKey + siteUrl pair and does NOT defer to a sibling profile pin', async () => {
793
+ const { resolveNamedProfileConfig } = await import('../lib/profiles.js');
794
+ // A perfectly resolvable pin sits in the same file — it names a DIFFERENT tenant, so
795
+ // adopting it would silently retarget every read and write.
796
+ resolveNamedProfileConfig.mockReturnValue({
797
+ apiKey: 'pb_sk_sibling_pin_key',
798
+ siteUrl: 'https://sibling-pin.example.com',
799
+ });
800
+ const pbDir = resolve(tempDir, '.productbrain');
801
+ mkdirSync(pbDir, { recursive: true });
802
+ writeFileSync(resolve(pbDir, 'config.local.json'), JSON.stringify({
803
+ profile: 'sibling-pin',
804
+ apiKey: 'pb_sk_markerless_key_0123456789',
805
+ siteUrl: 'https://markerless.convex.site',
806
+ // no `preview: true` marker
807
+ }));
808
+ resetConfigCache();
567
809
  const result = resolveConfig();
568
- // The preview key must NOT be bound — pairing it with config.json's real-dev gateway would
569
- // send a preview credential to a non-preview deployment (STD-261). Branch is skipped entirely.
570
- expect(result.apiKey).not.toBe('pb_sk_preview_key_0123456789abcdef');
571
- expect(result.apiKey).toBeUndefined();
572
- expect(result.source).toBe('default');
810
+ expect(result.apiKey).toBe('pb_sk_markerless_key_0123456789');
811
+ expect(result.siteUrl).toBe('https://markerless.convex.site');
812
+ expect(result.source).toBe('project');
813
+ });
814
+ it('refuses a marker-less apiKey with no siteUrl instead of resolving to the default gateway', () => {
815
+ const pbDir = resolve(tempDir, '.productbrain');
816
+ mkdirSync(pbDir, { recursive: true });
817
+ writeFileSync(resolve(pbDir, 'config.local.json'), JSON.stringify({ apiKey: 'pb_sk_markerless_key_0123456789' }));
818
+ resetConfigCache();
819
+ // Silently falling through would send this credential to the production gateway (STD-261).
820
+ expect(() => resolveConfig()).toThrow(/incomplete preview binding.*missing deployment URL/i);
821
+ });
822
+ it('S5: the marker-less refusal also holds through the loadEnv() cascade', () => {
823
+ const pbDir = resolve(tempDir, '.productbrain');
824
+ mkdirSync(pbDir, { recursive: true });
825
+ writeFileSync(resolve(pbDir, 'config.local.json'), JSON.stringify({ apiKey: 'pb_sk_markerless_key_0123456789' }));
826
+ resetConfigCache();
827
+ expect(() => getConfig()).toThrow(/incomplete preview binding.*missing deployment URL/i);
828
+ // The refusal must not leave a half-bound credential behind for the next caller.
829
+ expect(process.env.PRODUCTBRAIN_API_KEY).toBeUndefined();
830
+ });
831
+ // A present-but-non-string apiKey is a corrupt or hand-written binding, not an absent one.
832
+ // Treating it as absent would let the sibling profile pin supply a DIFFERENT tenant's
833
+ // credential — the workspace substitution this path exists to prevent.
834
+ it.each([
835
+ ['a number', 12345],
836
+ ['an empty string', ''],
837
+ ['a boolean', true],
838
+ ['an object', { key: 'pb_sk_nested' }],
839
+ ])('refuses a marker-less binding whose apiKey is %s, rather than adopting the sibling pin', async (_label, apiKey) => {
840
+ const { resolveNamedProfileConfig } = await import('../lib/profiles.js');
841
+ // A perfectly resolvable pin naming a DIFFERENT tenant sits in the same file.
842
+ resolveNamedProfileConfig.mockReturnValue({
843
+ apiKey: 'pb_sk_sibling_pin_key',
844
+ siteUrl: 'https://sibling-pin.example.com',
845
+ });
846
+ const pbDir = resolve(tempDir, '.productbrain');
847
+ mkdirSync(pbDir, { recursive: true });
848
+ writeFileSync(resolve(pbDir, 'config.local.json'), JSON.stringify({ profile: 'sibling-pin', apiKey, siteUrl: 'https://markerless.convex.site' }));
849
+ resetConfigCache();
850
+ expect(() => resolveConfig()).toThrow(/not a valid pb_sk_ key/i);
851
+ });
852
+ it('treats an explicitly null apiKey as absent — JSON null means "no value"', async () => {
853
+ const { resolveNamedProfileConfig } = await import('../lib/profiles.js');
854
+ resolveNamedProfileConfig.mockReturnValue({
855
+ apiKey: 'pb_sk_pin_key',
856
+ siteUrl: 'https://pinned.example.com',
857
+ });
858
+ const pbDir = resolve(tempDir, '.productbrain');
859
+ mkdirSync(pbDir, { recursive: true });
860
+ writeFileSync(resolve(pbDir, 'config.local.json'), JSON.stringify({ profile: 'pinned-workspace', apiKey: null }));
861
+ resetConfigCache();
862
+ const result = resolveConfig();
863
+ expect(result.apiKey).toBe('pb_sk_pin_key');
864
+ expect(result.source).toBe('project');
865
+ });
866
+ it('leaves the ordinary pin-only path untouched — the widened claim test must not swallow it', async () => {
867
+ const { resolveNamedProfileConfig } = await import('../lib/profiles.js');
868
+ resolveNamedProfileConfig.mockReturnValue({
869
+ apiKey: 'pb_sk_pin_only_key',
870
+ });
871
+ const pbDir = resolve(tempDir, '.productbrain');
872
+ mkdirSync(pbDir, { recursive: true });
873
+ // Committed gateway + pin with no siteUrl of its own: the pin path's normal shape.
874
+ writeFileSync(resolve(pbDir, 'config.json'), JSON.stringify({ siteUrl: 'https://project-gateway.example.com' }));
875
+ writeFileSync(resolve(pbDir, 'config.local.json'), JSON.stringify({ profile: 'pin-only-workspace' }));
876
+ resetConfigCache();
877
+ const result = resolveConfig();
878
+ expect(result.apiKey).toBe('pb_sk_pin_only_key');
879
+ expect(result.siteUrl).toBe('https://project-gateway.example.com');
880
+ expect(result.source).toBe('project');
881
+ });
882
+ });
883
+ describe('readLocalProjectConfig() — apiKey validity', () => {
884
+ it('withholds a malformed apiKey and flags it so diagnostics can name the fault', async () => {
885
+ const pbDir = resolve(tempDir, '.productbrain');
886
+ mkdirSync(pbDir, { recursive: true });
887
+ writeFileSync(resolve(pbDir, 'config.local.json'), JSON.stringify({ apiKey: 'sk_bad_prefix_key', siteUrl: 'https://my-preview.convex.site' }));
888
+ const { readLocalProjectConfig } = await import('../lib/config.js');
889
+ const local = readLocalProjectConfig();
890
+ // Withheld from `apiKey` so it can never bind, but not reported as absent either.
891
+ expect(local?.apiKey).toBeUndefined();
892
+ expect(local?.apiKeyMalformed).toBe(true);
893
+ });
894
+ it('loads a valid apiKey with no malformed flag', async () => {
895
+ const pbDir = resolve(tempDir, '.productbrain');
896
+ mkdirSync(pbDir, { recursive: true });
897
+ writeFileSync(resolve(pbDir, 'config.local.json'), JSON.stringify({
898
+ apiKey: 'pb_sk_preview_key_0123456789abcdef',
899
+ siteUrl: 'https://my-preview.convex.site',
900
+ }));
901
+ const { readLocalProjectConfig } = await import('../lib/config.js');
902
+ const local = readLocalProjectConfig();
903
+ expect(local?.apiKey).toBe('pb_sk_preview_key_0123456789abcdef');
904
+ expect(local?.apiKeyMalformed).toBeUndefined();
573
905
  });
574
906
  });
575
907
  describe('getPreviewBinding()', () => {
@@ -1 +1 @@
1
- {"version":3,"file":"config.test.js","sourceRoot":"","sources":["../../src/__tests__/config.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.test.js","sourceRoot":"","sources":["../../src/__tests__/config.test.ts"],"names":[],"mappings":"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"}