@productbrain/cli 0.1.0-beta.109 → 0.1.0-beta.1093

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 (257) hide show
  1. package/dist/__tests__/audit.test.js +5 -0
  2. package/dist/__tests__/audit.test.js.map +1 -1
  3. package/dist/__tests__/config.test.js +272 -2
  4. package/dist/__tests__/config.test.js.map +1 -1
  5. package/dist/__tests__/handshake-augment.test.d.ts +2 -0
  6. package/dist/__tests__/handshake-augment.test.d.ts.map +1 -0
  7. package/dist/__tests__/handshake-augment.test.js +423 -0
  8. package/dist/__tests__/handshake-augment.test.js.map +1 -0
  9. package/dist/__tests__/handshake-dormancy.test.d.ts +2 -0
  10. package/dist/__tests__/handshake-dormancy.test.d.ts.map +1 -0
  11. package/dist/__tests__/handshake-dormancy.test.js +207 -0
  12. package/dist/__tests__/handshake-dormancy.test.js.map +1 -0
  13. package/dist/__tests__/handshake-formatter.test.d.ts +2 -0
  14. package/dist/__tests__/handshake-formatter.test.d.ts.map +1 -0
  15. package/dist/__tests__/handshake-formatter.test.js +67 -0
  16. package/dist/__tests__/handshake-formatter.test.js.map +1 -0
  17. package/dist/__tests__/handshake-preview.test.js +65 -3
  18. package/dist/__tests__/handshake-preview.test.js.map +1 -1
  19. package/dist/__tests__/handshake.e2e.test.js +998 -3
  20. package/dist/__tests__/handshake.e2e.test.js.map +1 -1
  21. package/dist/__tests__/handshake.test.js +4 -4
  22. package/dist/__tests__/handshake.test.js.map +1 -1
  23. package/dist/__tests__/notice-marker.test.d.ts +2 -0
  24. package/dist/__tests__/notice-marker.test.d.ts.map +1 -0
  25. package/dist/__tests__/notice-marker.test.js +41 -0
  26. package/dist/__tests__/notice-marker.test.js.map +1 -0
  27. package/dist/__tests__/onboarding-path-b.test.js +4 -4
  28. package/dist/__tests__/onboarding-path-b.test.js.map +1 -1
  29. package/dist/__tests__/orient.test.js +52 -2
  30. package/dist/__tests__/orient.test.js.map +1 -1
  31. package/dist/__tests__/perimeter.test.js +23 -1
  32. package/dist/__tests__/perimeter.test.js.map +1 -1
  33. package/dist/__tests__/preview-key-refresh.test.d.ts +2 -0
  34. package/dist/__tests__/preview-key-refresh.test.d.ts.map +1 -0
  35. package/dist/__tests__/preview-key-refresh.test.js +126 -0
  36. package/dist/__tests__/preview-key-refresh.test.js.map +1 -0
  37. package/dist/__tests__/profiles.test.js +106 -2
  38. package/dist/__tests__/profiles.test.js.map +1 -1
  39. package/dist/__tests__/proof-run.test.d.ts +2 -0
  40. package/dist/__tests__/proof-run.test.d.ts.map +1 -0
  41. package/dist/__tests__/proof-run.test.js +255 -0
  42. package/dist/__tests__/proof-run.test.js.map +1 -0
  43. package/dist/__tests__/session-reset.test.d.ts +2 -0
  44. package/dist/__tests__/session-reset.test.d.ts.map +1 -0
  45. package/dist/__tests__/session-reset.test.js +122 -0
  46. package/dist/__tests__/session-reset.test.js.map +1 -0
  47. package/dist/__tests__/session-resume-backstop.test.d.ts +2 -0
  48. package/dist/__tests__/session-resume-backstop.test.d.ts.map +1 -0
  49. package/dist/__tests__/session-resume-backstop.test.js +97 -0
  50. package/dist/__tests__/session-resume-backstop.test.js.map +1 -0
  51. package/dist/__tests__/session-start-key-refresh.test.d.ts +2 -0
  52. package/dist/__tests__/session-start-key-refresh.test.d.ts.map +1 -0
  53. package/dist/__tests__/session-start-key-refresh.test.js +178 -0
  54. package/dist/__tests__/session-start-key-refresh.test.js.map +1 -0
  55. package/dist/__tests__/session-state-machine.test.js +45 -1
  56. package/dist/__tests__/session-state-machine.test.js.map +1 -1
  57. package/dist/__tests__/session-switch.test.d.ts +2 -0
  58. package/dist/__tests__/session-switch.test.d.ts.map +1 -0
  59. package/dist/__tests__/session-switch.test.js +130 -0
  60. package/dist/__tests__/session-switch.test.js.map +1 -0
  61. package/dist/__tests__/update-check.test.js +160 -1
  62. package/dist/__tests__/update-check.test.js.map +1 -1
  63. package/dist/__tests__/upgrade-runner.test.js +12 -0
  64. package/dist/__tests__/upgrade-runner.test.js.map +1 -1
  65. package/dist/__tests__/upgrade.test.d.ts +2 -0
  66. package/dist/__tests__/upgrade.test.d.ts.map +1 -0
  67. package/dist/__tests__/upgrade.test.js +56 -0
  68. package/dist/__tests__/upgrade.test.js.map +1 -0
  69. package/dist/__tests__/vocabulary-leak.test.d.ts +27 -13
  70. package/dist/__tests__/vocabulary-leak.test.d.ts.map +1 -1
  71. package/dist/__tests__/vocabulary-leak.test.js +169 -14
  72. package/dist/__tests__/vocabulary-leak.test.js.map +1 -1
  73. package/dist/commands/__tests__/setup-detect-surfaces.test.d.ts +15 -0
  74. package/dist/commands/__tests__/setup-detect-surfaces.test.d.ts.map +1 -0
  75. package/dist/commands/__tests__/setup-detect-surfaces.test.js +149 -0
  76. package/dist/commands/__tests__/setup-detect-surfaces.test.js.map +1 -0
  77. package/dist/commands/admin/seedRegistryEntries.generated.js +2 -2
  78. package/dist/commands/admin/seedRegistryEntries.generated.js.map +1 -1
  79. package/dist/commands/admin/seedRegistryEntries.test.js +1 -1
  80. package/dist/commands/admin/seedRegistryEntries.test.js.map +1 -1
  81. package/dist/commands/audit.d.ts.map +1 -1
  82. package/dist/commands/audit.js +30 -3
  83. package/dist/commands/audit.js.map +1 -1
  84. package/dist/commands/authority-domains.d.ts.map +1 -1
  85. package/dist/commands/authority-domains.js +2 -1
  86. package/dist/commands/authority-domains.js.map +1 -1
  87. package/dist/commands/capture.d.ts +2 -0
  88. package/dist/commands/capture.d.ts.map +1 -1
  89. package/dist/commands/capture.js +5 -1
  90. package/dist/commands/capture.js.map +1 -1
  91. package/dist/commands/connect-config.test.d.ts +2 -0
  92. package/dist/commands/connect-config.test.d.ts.map +1 -0
  93. package/dist/commands/connect-config.test.js +44 -0
  94. package/dist/commands/connect-config.test.js.map +1 -0
  95. package/dist/commands/connect-context.d.ts +45 -0
  96. package/dist/commands/connect-context.d.ts.map +1 -0
  97. package/dist/commands/connect-context.js +64 -0
  98. package/dist/commands/connect-context.js.map +1 -0
  99. package/dist/commands/connect-context.test.d.ts +2 -0
  100. package/dist/commands/connect-context.test.d.ts.map +1 -0
  101. package/dist/commands/connect-context.test.js +110 -0
  102. package/dist/commands/connect-context.test.js.map +1 -0
  103. package/dist/commands/connect-screens.d.ts +5 -6
  104. package/dist/commands/connect-screens.d.ts.map +1 -1
  105. package/dist/commands/connect-screens.js +28 -35
  106. package/dist/commands/connect-screens.js.map +1 -1
  107. package/dist/commands/connect.d.ts +16 -0
  108. package/dist/commands/connect.d.ts.map +1 -1
  109. package/dist/commands/connect.js +21 -20
  110. package/dist/commands/connect.js.map +1 -1
  111. package/dist/commands/doctor.js +2 -2
  112. package/dist/commands/doctor.js.map +1 -1
  113. package/dist/commands/doctor.test.js +19 -0
  114. package/dist/commands/doctor.test.js.map +1 -1
  115. package/dist/commands/handshake.d.ts +59 -4
  116. package/dist/commands/handshake.d.ts.map +1 -1
  117. package/dist/commands/handshake.js +392 -97
  118. package/dist/commands/handshake.js.map +1 -1
  119. package/dist/commands/method.d.ts.map +1 -1
  120. package/dist/commands/method.js +2 -1
  121. package/dist/commands/method.js.map +1 -1
  122. package/dist/commands/orient.d.ts +48 -0
  123. package/dist/commands/orient.d.ts.map +1 -1
  124. package/dist/commands/orient.js +25 -5
  125. package/dist/commands/orient.js.map +1 -1
  126. package/dist/commands/profile.d.ts +1 -14
  127. package/dist/commands/profile.d.ts.map +1 -1
  128. package/dist/commands/profile.js +89 -72
  129. package/dist/commands/profile.js.map +1 -1
  130. package/dist/commands/proof-run.d.ts +51 -0
  131. package/dist/commands/proof-run.d.ts.map +1 -0
  132. package/dist/commands/proof-run.js +209 -0
  133. package/dist/commands/proof-run.js.map +1 -0
  134. package/dist/commands/reject.d.ts.map +1 -1
  135. package/dist/commands/reject.js +2 -1
  136. package/dist/commands/reject.js.map +1 -1
  137. package/dist/commands/relate.d.ts.map +1 -1
  138. package/dist/commands/relate.js +4 -2
  139. package/dist/commands/relate.js.map +1 -1
  140. package/dist/commands/session.d.ts +26 -2
  141. package/dist/commands/session.d.ts.map +1 -1
  142. package/dist/commands/session.js +216 -31
  143. package/dist/commands/session.js.map +1 -1
  144. package/dist/commands/setup-audit.d.ts +59 -0
  145. package/dist/commands/setup-audit.d.ts.map +1 -0
  146. package/dist/commands/setup-audit.js +250 -0
  147. package/dist/commands/setup-audit.js.map +1 -0
  148. package/dist/commands/setup-detect-surfaces.d.ts.map +1 -1
  149. package/dist/commands/setup-detect-surfaces.js +10 -1
  150. package/dist/commands/setup-detect-surfaces.js.map +1 -1
  151. package/dist/commands/update.d.ts.map +1 -1
  152. package/dist/commands/update.js +2 -1
  153. package/dist/commands/update.js.map +1 -1
  154. package/dist/commands/upgrade.d.ts.map +1 -1
  155. package/dist/commands/upgrade.js +31 -10
  156. package/dist/commands/upgrade.js.map +1 -1
  157. package/dist/commands/verify.d.ts.map +1 -1
  158. package/dist/commands/verify.js +2 -1
  159. package/dist/commands/verify.js.map +1 -1
  160. package/dist/commands/whoami.d.ts +12 -0
  161. package/dist/commands/whoami.d.ts.map +1 -0
  162. package/dist/commands/whoami.js +70 -0
  163. package/dist/commands/whoami.js.map +1 -0
  164. package/dist/commands/whoami.test.d.ts +2 -0
  165. package/dist/commands/whoami.test.d.ts.map +1 -0
  166. package/dist/commands/whoami.test.js +50 -0
  167. package/dist/commands/whoami.test.js.map +1 -0
  168. package/dist/formatters/__tests__/orient-provenance.test.d.ts +7 -0
  169. package/dist/formatters/__tests__/orient-provenance.test.d.ts.map +1 -0
  170. package/dist/formatters/__tests__/orient-provenance.test.js +454 -0
  171. package/dist/formatters/__tests__/orient-provenance.test.js.map +1 -0
  172. package/dist/formatters/audit.d.ts +6 -0
  173. package/dist/formatters/audit.d.ts.map +1 -1
  174. package/dist/formatters/audit.js.map +1 -1
  175. package/dist/formatters/entry.d.ts +21 -0
  176. package/dist/formatters/entry.d.ts.map +1 -1
  177. package/dist/formatters/entry.js +46 -5
  178. package/dist/formatters/entry.js.map +1 -1
  179. package/dist/formatters/handshake.d.ts +7 -3
  180. package/dist/formatters/handshake.d.ts.map +1 -1
  181. package/dist/formatters/handshake.js +26 -23
  182. package/dist/formatters/handshake.js.map +1 -1
  183. package/dist/formatters/orient.d.ts +54 -0
  184. package/dist/formatters/orient.d.ts.map +1 -1
  185. package/dist/formatters/orient.js +71 -2
  186. package/dist/formatters/orient.js.map +1 -1
  187. package/dist/generators/adapters.js +4 -4
  188. package/dist/generators/region-projections.d.ts +18 -0
  189. package/dist/generators/region-projections.d.ts.map +1 -0
  190. package/dist/generators/region-projections.js +49 -0
  191. package/dist/generators/region-projections.js.map +1 -0
  192. package/dist/generators/region-projections.test.d.ts +2 -0
  193. package/dist/generators/region-projections.test.d.ts.map +1 -0
  194. package/dist/generators/region-projections.test.js +63 -0
  195. package/dist/generators/region-projections.test.js.map +1 -0
  196. package/dist/generators/region.d.ts +24 -0
  197. package/dist/generators/region.d.ts.map +1 -0
  198. package/dist/generators/region.js +87 -0
  199. package/dist/generators/region.js.map +1 -0
  200. package/dist/generators/region.test.d.ts +2 -0
  201. package/dist/generators/region.test.d.ts.map +1 -0
  202. package/dist/generators/region.test.js +126 -0
  203. package/dist/generators/region.test.js.map +1 -0
  204. package/dist/index.js +111 -9
  205. package/dist/index.js.map +1 -1
  206. package/dist/lib/config.d.ts +101 -4
  207. package/dist/lib/config.d.ts.map +1 -1
  208. package/dist/lib/config.js +225 -11
  209. package/dist/lib/config.js.map +1 -1
  210. package/dist/lib/notice-marker.d.ts +3 -0
  211. package/dist/lib/notice-marker.d.ts.map +1 -0
  212. package/dist/lib/notice-marker.js +53 -0
  213. package/dist/lib/notice-marker.js.map +1 -0
  214. package/dist/lib/onboarding-path-b.d.ts.map +1 -1
  215. package/dist/lib/onboarding-path-b.js +0 -1
  216. package/dist/lib/onboarding-path-b.js.map +1 -1
  217. package/dist/lib/onboarding-shared.d.ts +0 -1
  218. package/dist/lib/onboarding-shared.d.ts.map +1 -1
  219. package/dist/lib/onboarding-shared.js +0 -16
  220. package/dist/lib/onboarding-shared.js.map +1 -1
  221. package/dist/lib/profiles.d.ts +3 -1
  222. package/dist/lib/profiles.d.ts.map +1 -1
  223. package/dist/lib/profiles.js +9 -6
  224. package/dist/lib/profiles.js.map +1 -1
  225. package/dist/lib/session.d.ts +10 -0
  226. package/dist/lib/session.d.ts.map +1 -1
  227. package/dist/lib/session.js +26 -1
  228. package/dist/lib/session.js.map +1 -1
  229. package/dist/lib/tokenConstants.d.ts +2 -0
  230. package/dist/lib/tokenConstants.d.ts.map +1 -1
  231. package/dist/lib/tokenConstants.js +2 -0
  232. package/dist/lib/tokenConstants.js.map +1 -1
  233. package/dist/lib/update-check.d.ts +26 -11
  234. package/dist/lib/update-check.d.ts.map +1 -1
  235. package/dist/lib/update-check.js +123 -73
  236. package/dist/lib/update-check.js.map +1 -1
  237. package/dist/lib/upgrade-runner.d.ts +2 -1
  238. package/dist/lib/upgrade-runner.d.ts.map +1 -1
  239. package/dist/lib/upgrade-runner.js +8 -7
  240. package/dist/lib/upgrade-runner.js.map +1 -1
  241. package/dist/setup/perimeter.d.ts +10 -0
  242. package/dist/setup/perimeter.d.ts.map +1 -1
  243. package/dist/setup/perimeter.js +21 -6
  244. package/dist/setup/perimeter.js.map +1 -1
  245. package/package.json +2 -1
  246. package/dist/__tests__/setup.test.d.ts +0 -2
  247. package/dist/__tests__/setup.test.d.ts.map +0 -1
  248. package/dist/__tests__/setup.test.js +0 -141
  249. package/dist/__tests__/setup.test.js.map +0 -1
  250. package/dist/generators/__tests__/surface-profiles.test.d.ts +0 -2
  251. package/dist/generators/__tests__/surface-profiles.test.d.ts.map +0 -1
  252. package/dist/generators/__tests__/surface-profiles.test.js +0 -89
  253. package/dist/generators/__tests__/surface-profiles.test.js.map +0 -1
  254. package/dist/lib/onboarding-phases.d.ts +0 -9
  255. package/dist/lib/onboarding-phases.d.ts.map +0 -1
  256. package/dist/lib/onboarding-phases.js +0 -120
  257. package/dist/lib/onboarding-phases.js.map +0 -1
@@ -76,12 +76,8 @@ export function listProfiles() {
76
76
  .map((f) => f.replace(/\.env$/, ''))
77
77
  .sort();
78
78
  }
79
- /** Get the active profile name. */
80
- export function getActiveProfile() {
81
- // PB_PROFILE env var takes precedence
82
- const envProfile = process.env.PB_PROFILE?.trim();
83
- if (envProfile)
84
- return envProfile;
79
+ /** Read the global active-profile file only (ignores PB_PROFILE). */
80
+ export function getGlobalActiveProfile() {
85
81
  if (existsSync(ACTIVE_PROFILE_PATH)) {
86
82
  const name = readFileSync(ACTIVE_PROFILE_PATH, 'utf8').trim();
87
83
  if (name)
@@ -89,6 +85,13 @@ export function getActiveProfile() {
89
85
  }
90
86
  return null;
91
87
  }
88
+ /** Get the active profile name (PB_PROFILE env wins, then the global file). */
89
+ export function getActiveProfile() {
90
+ const envProfile = process.env.PB_PROFILE?.trim();
91
+ if (envProfile)
92
+ return envProfile;
93
+ return getGlobalActiveProfile();
94
+ }
92
95
  /** Create a new profile. */
93
96
  export function createProfile(name, apiKey, siteUrl) {
94
97
  validateProfileName(name);
@@ -1 +1 @@
1
- {"version":3,"file":"profiles.js","sourceRoot":"","sources":["../../src/lib/profiles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"profiles.js","sourceRoot":"","sources":["../../src/lib/profiles.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,8 @@ export interface SessionState {
14
14
  entriesCaptured: string[];
15
15
  /** Optional: set when session is closed. Presence indicates a closed-marker state. */
16
16
  closedAt?: string;
17
+ /** Effective profile name at session start — backstop for detecting a profile switch. */
18
+ profile?: string;
17
19
  }
18
20
  /** Shape returned by readClosedMarker when a closed marker is present. */
19
21
  export interface ClosedMarker {
@@ -32,6 +34,14 @@ export declare function writeSession(state: SessionState): void;
32
34
  * WP-322 S2 — enables auto-resume within 2h window.
33
35
  */
34
36
  export declare function clearSession(): void;
37
+ /**
38
+ * Delete session.json outright — NO closed marker. Use on a workspace change
39
+ * (profile switch / connect redirect) so the 2h auto-resume can't re-pin the old
40
+ * workspace. (clearSession writes a resume marker; that is only correct for session close.)
41
+ */
42
+ export declare function discardSession(): void;
43
+ /** True if a session.json file exists at all — active session OR closed marker. */
44
+ export declare function sessionFileExists(): boolean;
35
45
  /**
36
46
  * Reads the closed marker from session.json.
37
47
  * Returns the marker if closedAt is present, otherwise null.
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/lib/session.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,sFAAsF;IACtF,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,0EAA0E;AAC1E,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;CACvB;AAcD,wBAAgB,WAAW,IAAI,YAAY,GAAG,IAAI,CAWjD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAItD;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,IAAI,IAAI,CA0BnC;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,YAAY,GAAG,IAAI,CAetD;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAKtD"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/lib/session.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,sFAAsF;IACtF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yFAAyF;IACzF,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,0EAA0E;AAC1E,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;CACvB;AAwBD,wBAAgB,WAAW,IAAI,YAAY,GAAG,IAAI,CAWjD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAItD;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,IAAI,IAAI,CA0BnC;AAED;;;;GAIG;AACH,wBAAgB,cAAc,IAAI,IAAI,CAGrC;AAED,mFAAmF;AACnF,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,YAAY,GAAG,IAAI,CAetD;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAKtD"}
@@ -8,8 +8,19 @@
8
8
  */
9
9
  import { existsSync, readFileSync, writeFileSync, renameSync, mkdirSync, unlinkSync } from 'fs';
10
10
  import { join } from 'path';
11
+ import { findProjectRoot } from './config.js';
12
+ /**
13
+ * Resolve the `.productbrain/` session directory off the CLI project root — the SAME
14
+ * walked-up root config.ts resolves credentials against (findProjectRoot), which is also the
15
+ * repo-root that scripts/pb-binding.mjs targets. Anchoring all three to one root means the
16
+ * binding-flip guard (hasActiveSession in pb-binding.mjs) inspects the exact session.json the
17
+ * CLI writes, even when a command runs from a subdirectory such as packages/cli — a cwd-relative
18
+ * dir would put the session under packages/cli/.productbrain and the guard would miss it
19
+ * (codex PR #145 review). Falls back to cwd when no config-bearing root is found (fresh worktree
20
+ * before any config has landed).
21
+ */
11
22
  function getSessionDir() {
12
- return join(process.cwd(), '.productbrain');
23
+ return join(findProjectRoot(process.cwd()) ?? process.cwd(), '.productbrain');
13
24
  }
14
25
  function getSessionPath() {
15
26
  return join(getSessionDir(), 'session.json');
@@ -75,6 +86,20 @@ export function clearSession() {
75
86
  // If we can't write the marker, the file stays as-is (non-blocking).
76
87
  }
77
88
  }
89
+ /**
90
+ * Delete session.json outright — NO closed marker. Use on a workspace change
91
+ * (profile switch / connect redirect) so the 2h auto-resume can't re-pin the old
92
+ * workspace. (clearSession writes a resume marker; that is only correct for session close.)
93
+ */
94
+ export function discardSession() {
95
+ const p = getSessionPath();
96
+ if (existsSync(p))
97
+ unlinkSync(p);
98
+ }
99
+ /** True if a session.json file exists at all — active session OR closed marker. */
100
+ export function sessionFileExists() {
101
+ return existsSync(getSessionPath());
102
+ }
78
103
  /**
79
104
  * Reads the closed marker from session.json.
80
105
  * Returns the marker if closedAt is present, otherwise null.
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/lib/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/lib/session.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,8 @@
9
9
  export declare const API_KEY_PREFIX = "pb_sk_";
10
10
  /** Prefix for short-lived connect tokens (15-min, single-use). */
11
11
  export declare const CONNECT_TOKEN_PREFIX = "pb_ct_";
12
+ /** Prefix for preview-only admin proof-bridge tokens (≤24h, workspace-pinned; WP-459). */
13
+ export declare const PREVIEW_ADMIN_TOKEN_PREFIX = "pb_pat_";
12
14
  /**
13
15
  * Length of the random hex component in generated API keys.
14
16
  * 32 hex chars = 128-bit entropy.
@@ -1 +1 @@
1
- {"version":3,"file":"tokenConstants.d.ts","sourceRoot":"","sources":["../../src/lib/tokenConstants.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,qDAAqD;AACrD,eAAO,MAAM,cAAc,WAAW,CAAC;AAEvC,kEAAkE;AAClE,eAAO,MAAM,oBAAoB,WAAW,CAAC;AAE7C;;;GAGG;AACH,eAAO,MAAM,kBAAkB,KAAK,CAAC"}
1
+ {"version":3,"file":"tokenConstants.d.ts","sourceRoot":"","sources":["../../src/lib/tokenConstants.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,qDAAqD;AACrD,eAAO,MAAM,cAAc,WAAW,CAAC;AAEvC,kEAAkE;AAClE,eAAO,MAAM,oBAAoB,WAAW,CAAC;AAE7C,0FAA0F;AAC1F,eAAO,MAAM,0BAA0B,YAAY,CAAC;AAEpD;;;GAGG;AACH,eAAO,MAAM,kBAAkB,KAAK,CAAC"}
@@ -9,6 +9,8 @@
9
9
  export const API_KEY_PREFIX = 'pb_sk_';
10
10
  /** Prefix for short-lived connect tokens (15-min, single-use). */
11
11
  export const CONNECT_TOKEN_PREFIX = 'pb_ct_';
12
+ /** Prefix for preview-only admin proof-bridge tokens (≤24h, workspace-pinned; WP-459). */
13
+ export const PREVIEW_ADMIN_TOKEN_PREFIX = 'pb_pat_';
12
14
  /**
13
15
  * Length of the random hex component in generated API keys.
14
16
  * 32 hex chars = 128-bit entropy.
@@ -1 +1 @@
1
- {"version":3,"file":"tokenConstants.js","sourceRoot":"","sources":["../../src/lib/tokenConstants.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,qDAAqD;AACrD,MAAM,CAAC,MAAM,cAAc,GAAG,QAAQ,CAAC;AAEvC,kEAAkE;AAClE,MAAM,CAAC,MAAM,oBAAoB,GAAG,QAAQ,CAAC;AAE7C;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC"}
1
+ {"version":3,"file":"tokenConstants.js","sourceRoot":"","sources":["../../src/lib/tokenConstants.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,qDAAqD;AACrD,MAAM,CAAC,MAAM,cAAc,GAAG,QAAQ,CAAC;AAEvC,kEAAkE;AAClE,MAAM,CAAC,MAAM,oBAAoB,GAAG,QAAQ,CAAC;AAE7C,0FAA0F;AAC1F,MAAM,CAAC,MAAM,0BAA0B,GAAG,SAAS,CAAC;AAEpD;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC"}
@@ -5,10 +5,11 @@
5
5
  * a one-line notification when a newer version is available.
6
6
  *
7
7
  * Rules:
8
- * - Non-blocking: check fires async, never delays the command
9
- * - 24h cache at ~/.config/productbrain/update-check.json
8
+ * - Synchronous: reads cache only, never awaits network, never delays the command
9
+ * - Multi-source cache at ~/.config/productbrain/update-check.json:
10
+ * server header is authoritative within 48h; npm is an isNewer-gated fallback
10
11
  * - Silent on any error (network down, registry unreachable, etc.)
11
- * - JSON mode: suppress notification entirely
12
+ * - JSON/agent mode: notice goes to stderr (stdout stays bare JSON), throttled once per session
12
13
  * - Does NOT use undici/fetch directly; uses Node.js built-in https
13
14
  */
14
15
  /**
@@ -17,25 +18,39 @@
17
18
  * can fire it from their own discovery path while sharing the dedup guard.
18
19
  */
19
20
  export declare function reportVersionSkewIfNew(latest: string | null, current?: string): void;
21
+ /**
22
+ * Hot-path resolution from cache only — NEVER fetches. The **newest** in-window source wins: the
23
+ * server header is preferred only when it is actually the highest version, so a server that lags
24
+ * npm (its committed `cliVersion.ts` value trails the run-numbered npm publish — see TEN-2199) can
25
+ * no longer mask a newer npm latest. Returns the best available value even when every source is
26
+ * stale ("better than nothing"), because the hot path (checkForUpdate) cannot block on a refresh.
27
+ */
28
+ export declare function resolveCachedLatest(): string | null;
29
+ /** @deprecated use resolveCachedLatest. Kept for callers migrating. */
20
30
  export declare function readCachedLatestVersion(): string | null;
21
31
  /** Clear the post-upgrade sentinel and stale update cache on next CLI startup. */
22
32
  export declare function clearPendingUpgradeCache(): void;
23
33
  /** Written after a successful self-upgrade so the next CLI process drops stale cache. */
24
- export declare function writeUpgradePendingSentinel(): void;
34
+ export declare function writeUpgradePendingSentinel(installedVersion?: string): void;
35
+ /** Test-only: reset module-level per-process guards so each test starts clean. */
36
+ export declare function _resetProcessGuardsForTest(): void;
25
37
  /**
26
38
  * Compare two semver strings. Returns true if `b` is strictly newer than `a`.
27
39
  * Handles standard x.y.z and x.y.z-beta.N formats (numeric comparison per part).
28
40
  */
29
41
  export declare function isNewer(current: string, latest: string): boolean;
30
- /** Silently records a server-supplied latest version header. */
42
+ /** Record the server-supplied latest version (authoritative source). */
31
43
  export declare function recordServerLatest(latestVersion: string | null): void;
32
- /** Reads the latest version from cache or npm beta dist-tag. Silent on errors. */
33
- export declare function resolveLatestVersion(): Promise<string | null>;
44
+ /** Record an npm-resolved latest version gated so it never stores <= installed. */
45
+ export declare function recordNpmLatest(latestVersion: string | null, currentVersion: string): void;
46
+ /** LIVE resolve — fetches npm and records it (gated). Call ONLY from doctor/upgrade, never the hot path. */
47
+ export declare function resolveLatestVersion(currentVersion?: string): Promise<string | null>;
34
48
  /**
35
- * Prints one line to stderr if a newer version is available.
36
- * The check is always non-blocking: it fires async and is not awaited by the caller.
37
- *
38
- * Call once per human-initiated command, just before the command action runs.
49
+ * Synchronously prints at most one update line. Reads cache only never fetches.
50
+ * Reaches agents (JSON mode) on stderr; stdout stays bare JSON. Throttled once per
51
+ * session (agent) / once per UTC day (human TTY) via O_EXCL markers. Never throws.
52
+ * NOTE: a session with no authenticated server call writes no cache and fires no
53
+ * notice; `pb doctor` live-resolves as the backstop. DEC-2.
39
54
  */
40
55
  export declare function checkForUpdate(currentVersion: string): void;
41
56
  //# sourceMappingURL=update-check.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"update-check.d.ts","sourceRoot":"","sources":["../../src/lib/update-check.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAuCH;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAQpF;AAsBD,wBAAgB,uBAAuB,IAAI,MAAM,GAAG,IAAI,CAGvD;AAkBD,kFAAkF;AAClF,wBAAgB,wBAAwB,IAAI,IAAI,CAU/C;AAED,yFAAyF;AACzF,wBAAgB,2BAA2B,IAAI,IAAI,CAOlD;AA2BD;;;GAGG;AACH,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAuBhE;AAED,gEAAgE;AAChE,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAMrE;AAED,kFAAkF;AAClF,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAOnE;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAwB3D"}
1
+ {"version":3,"file":"update-check.d.ts","sourceRoot":"","sources":["../../src/lib/update-check.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAyCH;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAQpF;AA+BD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,GAAG,IAAI,CAUnD;AAYD,uEAAuE;AACvE,wBAAgB,uBAAuB,IAAI,MAAM,GAAG,IAAI,CAEvD;AAMD,kFAAkF;AAClF,wBAAgB,wBAAwB,IAAI,IAAI,CAU/C;AAED,yFAAyF;AACzF,wBAAgB,2BAA2B,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAK3E;AAED,kFAAkF;AAClF,wBAAgB,0BAA0B,IAAI,IAAI,CAIjD;AA2BD;;;GAGG;AACH,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAuBhE;AAED,wEAAwE;AACxE,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAMrE;AAED,qFAAqF;AACrF,wBAAgB,eAAe,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,EAAE,cAAc,EAAE,MAAM,GAAG,IAAI,CAM1F;AAED,4GAA4G;AAC5G,wBAAsB,oBAAoB,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAmB1F;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAiB3D"}
@@ -5,10 +5,11 @@
5
5
  * a one-line notification when a newer version is available.
6
6
  *
7
7
  * Rules:
8
- * - Non-blocking: check fires async, never delays the command
9
- * - 24h cache at ~/.config/productbrain/update-check.json
8
+ * - Synchronous: reads cache only, never awaits network, never delays the command
9
+ * - Multi-source cache at ~/.config/productbrain/update-check.json:
10
+ * server header is authoritative within 48h; npm is an isNewer-gated fallback
10
11
  * - Silent on any error (network down, registry unreachable, etc.)
11
- * - JSON mode: suppress notification entirely
12
+ * - JSON/agent mode: notice goes to stderr (stdout stays bare JSON), throttled once per session
12
13
  * - Does NOT use undici/fetch directly; uses Node.js built-in https
13
14
  */
14
15
  import { readFileSync, writeFileSync, mkdirSync, existsSync, unlinkSync } from 'node:fs';
@@ -16,18 +17,20 @@ import { request } from 'node:https';
16
17
  import { homedir } from 'node:os';
17
18
  import { dirname, join } from 'node:path';
18
19
  import { fileURLToPath } from 'node:url';
19
- import { UPGRADE_COMMAND } from './constants.js';
20
20
  import { isJsonMode } from './runner.js';
21
21
  import { dim, yellow } from './style.js';
22
+ import { claimNotice } from './notice-marker.js';
22
23
  import { trackEvent } from './telemetry.js';
23
24
  const PKG_NAME = '@productbrain/cli';
24
- const CACHE_TTL_MS = 24 * 60 * 60 * 1000; // 24 hours
25
+ const SERVER_FRESHNESS_MS = 48 * 60 * 60 * 1000;
26
+ // npm fallback freshness — mirrors the single-source 24h cache TTL that existed before the
27
+ // multi-source split, so a cached npm value is revalidated daily instead of served forever.
28
+ const NPM_FRESHNESS_MS = 24 * 60 * 60 * 1000;
25
29
  const CONFIG_DIR = join(homedir(), '.config', 'productbrain');
26
30
  const CACHE_PATH = join(CONFIG_DIR, 'update-check.json');
27
31
  const UPGRADE_PENDING_PATH = join(CONFIG_DIR, 'upgrade-pending');
28
32
  const NPM_BETA_URL = `https://registry.npmjs.org/${PKG_NAME}/beta`;
29
33
  const CHANNEL_RANK = { alpha: -3, beta: -2, rc: -1 };
30
- let cacheWrittenThisProcess = false;
31
34
  let pendingUpgradeClearedThisProcess = false;
32
35
  let versionSkewReportedThisProcess = false;
33
36
  let cachedRunningCliVersion;
@@ -64,38 +67,66 @@ export function reportVersionSkewIfNew(latest, current) {
64
67
  versionSkewReportedThisProcess = true;
65
68
  trackEvent('cli.version_skew.detected', { current: running, latest });
66
69
  }
67
- /** Read the cached latest version if it is still fresh (< 24h). */
68
- function readCache() {
70
+ function readCacheFile() {
69
71
  try {
70
72
  if (!existsSync(CACHE_PATH))
71
- return null;
72
- const raw = readFileSync(CACHE_PATH, 'utf8');
73
- const entry = JSON.parse(raw);
74
- if (Date.now() - entry.checkedAt < CACHE_TTL_MS) {
75
- return entry.latestVersion;
76
- }
73
+ return {};
74
+ return JSON.parse(readFileSync(CACHE_PATH, 'utf8'));
77
75
  }
78
76
  catch {
79
- // Corrupt or missing cache — treat as cold
77
+ return {};
80
78
  }
81
- return null;
82
- }
83
- export function readCachedLatestVersion() {
84
- if (isVersionCheckDisabled())
85
- return null;
86
- return readCache();
87
79
  }
88
- /** Write a cache entry with the resolved latest version. */
89
- function writeCache(latestVersion) {
80
+ function writeCacheFile(cache) {
90
81
  try {
91
82
  mkdirSync(CONFIG_DIR, { recursive: true });
92
- const entry = { checkedAt: Date.now(), latestVersion };
93
- writeFileSync(CACHE_PATH, JSON.stringify(entry), 'utf8');
94
- cacheWrittenThisProcess = true;
83
+ writeFileSync(CACHE_PATH, JSON.stringify(cache), 'utf8');
95
84
  }
96
- catch {
97
- // Cache write failure is non-fatal
85
+ catch { /* non-fatal */ }
86
+ }
87
+ /** Return the newest (highest by semver) of the supplied values, ignoring null/undefined. */
88
+ function newestOf(...values) {
89
+ let best = null;
90
+ for (const v of values) {
91
+ if (!v)
92
+ continue;
93
+ if (best === null || isNewer(best, v))
94
+ best = v;
98
95
  }
96
+ return best;
97
+ }
98
+ /**
99
+ * Hot-path resolution from cache only — NEVER fetches. The **newest** in-window source wins: the
100
+ * server header is preferred only when it is actually the highest version, so a server that lags
101
+ * npm (its committed `cliVersion.ts` value trails the run-numbered npm publish — see TEN-2199) can
102
+ * no longer mask a newer npm latest. Returns the best available value even when every source is
103
+ * stale ("better than nothing"), because the hot path (checkForUpdate) cannot block on a refresh.
104
+ */
105
+ export function resolveCachedLatest() {
106
+ if (isVersionCheckDisabled())
107
+ return null;
108
+ const cache = readCacheFile();
109
+ const now = Date.now();
110
+ const serverFresh = cache.server && now - cache.server.recordedAt < SERVER_FRESHNESS_MS ? cache.server.value : null;
111
+ // Hot path: an npm value is usable even when stale ("better than nothing"); the live resolver
112
+ // (resolveLatestVersion) is the one that enforces the npm freshness window and re-fetches.
113
+ const best = newestOf(serverFresh, cache.npm?.value);
114
+ if (best !== null)
115
+ return best;
116
+ return cache.server?.value ?? null; // stale server (>48h) as last resort — better than nothing
117
+ }
118
+ /** The in-window value from each source (null when the source is absent or past its freshness window). */
119
+ function readFreshSources() {
120
+ const cache = readCacheFile();
121
+ const now = Date.now();
122
+ return {
123
+ server: cache.server && now - cache.server.recordedAt < SERVER_FRESHNESS_MS ? cache.server.value : null,
124
+ npm: cache.npm && now - cache.npm.recordedAt < NPM_FRESHNESS_MS ? cache.npm.value : null,
125
+ };
126
+ }
127
+ /** @deprecated use resolveCachedLatest. Kept for callers migrating. */
128
+ export function readCachedLatestVersion() {
129
+ return resolveCachedLatest();
99
130
  }
100
131
  function isVersionCheckDisabled() {
101
132
  return process.env.PB_NO_VERSION_CHECK === '1';
@@ -123,14 +154,18 @@ export function clearPendingUpgradeCache() {
123
154
  }
124
155
  }
125
156
  /** Written after a successful self-upgrade so the next CLI process drops stale cache. */
126
- export function writeUpgradePendingSentinel() {
157
+ export function writeUpgradePendingSentinel(installedVersion) {
127
158
  try {
128
159
  mkdirSync(CONFIG_DIR, { recursive: true });
129
- writeFileSync(UPGRADE_PENDING_PATH, JSON.stringify({ upgradedAt: Date.now() }), 'utf8');
130
- }
131
- catch {
132
- // Non-fatal: update checks will recover via normal cache TTL.
160
+ writeFileSync(UPGRADE_PENDING_PATH, JSON.stringify({ upgradedAt: Date.now(), version: installedVersion ?? null /* version: concrete installed version, recorded for post-upgrade diagnostics/future "upgraded to X" notice */ }), 'utf8');
133
161
  }
162
+ catch { /* non-fatal — update checks recover via cache TTL */ }
163
+ }
164
+ /** Test-only: reset module-level per-process guards so each test starts clean. */
165
+ export function _resetProcessGuardsForTest() {
166
+ pendingUpgradeClearedThisProcess = false;
167
+ versionSkewReportedThisProcess = false;
168
+ cachedRunningCliVersion = undefined;
134
169
  }
135
170
  /** Fetch latest version from npm registry. Returns null on any error. */
136
171
  function fetchLatestVersion() {
@@ -188,59 +223,74 @@ export function isNewer(current, latest) {
188
223
  }
189
224
  return false;
190
225
  }
191
- /** Silently records a server-supplied latest version header. */
226
+ /** Record the server-supplied latest version (authoritative source). */
192
227
  export function recordServerLatest(latestVersion) {
193
- if (isVersionCheckDisabled())
228
+ if (isVersionCheckDisabled() || !latestVersion)
194
229
  return;
195
- if (!latestVersion)
230
+ const cache = readCacheFile();
231
+ cache.server = { value: latestVersion, recordedAt: Date.now() };
232
+ writeCacheFile(cache);
233
+ reportVersionSkewIfNew(latestVersion);
234
+ }
235
+ /** Record an npm-resolved latest version — gated so it never stores <= installed. */
236
+ export function recordNpmLatest(latestVersion, currentVersion) {
237
+ if (isVersionCheckDisabled() || !latestVersion)
196
238
  return;
197
- if (cacheWrittenThisProcess && readCache() === latestVersion)
239
+ if (!isNewer(currentVersion, latestVersion))
198
240
  return;
199
- writeCache(latestVersion);
200
- reportVersionSkewIfNew(latestVersion);
241
+ const cache = readCacheFile();
242
+ cache.npm = { value: latestVersion, recordedAt: Date.now() };
243
+ writeCacheFile(cache);
201
244
  }
202
- /** Reads the latest version from cache or npm beta dist-tag. Silent on errors. */
203
- export async function resolveLatestVersion() {
245
+ /** LIVE resolve fetches npm and records it (gated). Call ONLY from doctor/upgrade, never the hot path. */
246
+ export async function resolveLatestVersion(currentVersion) {
204
247
  if (isVersionCheckDisabled())
205
248
  return null;
206
- const cached = readCache();
207
- if (cached !== null)
208
- return cached;
209
- const latest = await fetchLatestVersion();
210
- if (latest)
211
- writeCache(latest);
212
- return latest;
249
+ const fresh = readFreshSources();
250
+ // Skip the network ONLY when npm itself is within its freshness window. A fresh server header
251
+ // alone cannot prove npm isn't newer (the hot path never populates npm, and the server's committed
252
+ // cliVersion.ts value structurally trails the run-numbered npm publish — TEN-2199), so a
253
+ // server-only cache MUST trigger a live npm fetch or the lagging server would mask the true latest.
254
+ if (fresh.npm !== null)
255
+ return newestOf(fresh.server, fresh.npm);
256
+ const fetched = await fetchLatestVersion();
257
+ if (fetched !== null) {
258
+ // The live registry is ground truth. Record only when strictly newer (the cache never stores a
259
+ // value <= installed), but compare against any fresh server header so a genuinely-newer server
260
+ // still wins. A successful fetch REPLACES a stale npm entry rather than falling back to it.
261
+ if (currentVersion)
262
+ recordNpmLatest(fetched, currentVersion);
263
+ return newestOf(fresh.server, fetched);
264
+ }
265
+ // Fetch failed (offline / registry unreachable): fall back to any cached value — better than
266
+ // nothing, and the documented `pb doctor` offline backstop.
267
+ return resolveCachedLatest();
213
268
  }
214
269
  /**
215
- * Prints one line to stderr if a newer version is available.
216
- * The check is always non-blocking: it fires async and is not awaited by the caller.
217
- *
218
- * Call once per human-initiated command, just before the command action runs.
270
+ * Synchronously prints at most one update line. Reads cache only never fetches.
271
+ * Reaches agents (JSON mode) on stderr; stdout stays bare JSON. Throttled once per
272
+ * session (agent) / once per UTC day (human TTY) via O_EXCL markers. Never throws.
273
+ * NOTE: a session with no authenticated server call writes no cache and fires no
274
+ * notice; `pb doctor` live-resolves as the backstop. DEC-2.
219
275
  */
220
276
  export function checkForUpdate(currentVersion) {
221
277
  clearPendingUpgradeCache();
222
278
  if (isVersionCheckDisabled())
223
279
  return;
224
- // Suppress in JSON/agent mode
225
- if (isJsonMode())
226
- return;
227
- // Fire-and-forget: result is printed after command output via process.nextTick trick
228
- void (async () => {
229
- try {
230
- // Try cache first
231
- const latest = await resolveLatestVersion();
232
- if (!latest)
233
- return;
234
- if (!isNewer(currentVersion, latest))
235
- return;
236
- // Print after current command output (nextTick ensures we don't interleave)
237
- process.nextTick(() => {
238
- process.stderr.write(`\n${yellow('Update available:')} ${dim(currentVersion)} → ${latest} ${dim('run')} pb upgrade ${dim(`(${UPGRADE_COMMAND})`)}\n`);
239
- });
240
- }
241
- catch {
242
- // Never surface update-check errors to the user
243
- }
244
- })();
280
+ try {
281
+ const latest = resolveCachedLatest();
282
+ if (!latest || !isNewer(currentVersion, latest))
283
+ return;
284
+ reportVersionSkewIfNew(latest, currentVersion);
285
+ const channel = isJsonMode() ? 'agent' : 'human';
286
+ if (!claimNotice(channel))
287
+ return;
288
+ const line = `${yellow('pb:')} update available — you're on ${dim(currentVersion)}, latest is ${latest}. ` +
289
+ `Recommended: tell your operator and run ${dim('pb upgrade')}.\n`;
290
+ process.stderr.write('\n' + line);
291
+ }
292
+ catch {
293
+ // Advisory notice — never block or crash a command.
294
+ }
245
295
  }
246
296
  //# sourceMappingURL=update-check.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"update-check.js","sourceRoot":"","sources":["../../src/lib/update-check.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update-check.js","sourceRoot":"","sources":["../../src/lib/update-check.ts"],"names":[],"mappings":"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"}
@@ -14,8 +14,9 @@ export type UpgradeResult = {
14
14
  export type SpawnUpgradeOptions = {
15
15
  onOutput?: (line: string) => void;
16
16
  env?: NodeJS.ProcessEnv;
17
+ version?: string;
17
18
  };
18
19
  export declare function detectInstallChannel(execPath?: string, env?: NodeJS.ProcessEnv): InstallChannel;
19
- export declare function buildUpgradeCommand(channel: InstallChannel): UpgradeCommand;
20
+ export declare function buildUpgradeCommand(channel: InstallChannel, version?: string): UpgradeCommand;
20
21
  export declare function spawnUpgrade(channel?: InstallChannel, options?: SpawnUpgradeOptions): Promise<UpgradeResult>;
21
22
  //# sourceMappingURL=upgrade-runner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"upgrade-runner.d.ts","sourceRoot":"","sources":["../../src/lib/upgrade-runner.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,SAAS,CAAC;AAElF,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,cAAc,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,EAAE,cAAc,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB,CAAC;AAYF,wBAAgB,oBAAoB,CAAC,QAAQ,SAAmB,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,cAAc,CActH;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,cAAc,GAAG,cAAc,CAc3E;AAaD,wBAAgB,YAAY,CAC1B,OAAO,GAAE,cAAuC,EAChD,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,aAAa,CAAC,CAiDxB"}
1
+ {"version":3,"file":"upgrade-runner.d.ts","sourceRoot":"","sources":["../../src/lib/upgrade-runner.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,SAAS,CAAC;AAElF,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,cAAc,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,EAAE,cAAc,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAYF,wBAAgB,oBAAoB,CAAC,QAAQ,SAAmB,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,cAAc,CActH;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,cAAc,CAe7F;AAaD,wBAAgB,YAAY,CAC1B,OAAO,GAAE,cAAuC,EAChD,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,aAAa,CAAC,CAiDxB"}