@productbrain/cli 0.1.0-beta.1919 → 0.1.0-beta.1963

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 (68) hide show
  1. package/dist/__tests__/conversation.test.d.ts +2 -0
  2. package/dist/__tests__/conversation.test.d.ts.map +1 -0
  3. package/dist/__tests__/conversation.test.js +113 -0
  4. package/dist/__tests__/conversation.test.js.map +1 -0
  5. package/dist/__tests__/ingest.test.js +9 -0
  6. package/dist/__tests__/ingest.test.js.map +1 -1
  7. package/dist/__tests__/orient.test.js +28 -1
  8. package/dist/__tests__/orient.test.js.map +1 -1
  9. package/dist/__tests__/profiles.test.js +10 -6
  10. package/dist/__tests__/profiles.test.js.map +1 -1
  11. package/dist/__tests__/session-label.test.d.ts +2 -0
  12. package/dist/__tests__/session-label.test.d.ts.map +1 -0
  13. package/dist/__tests__/session-label.test.js +46 -0
  14. package/dist/__tests__/session-label.test.js.map +1 -0
  15. package/dist/__tests__/session-list-show.test.d.ts +2 -0
  16. package/dist/__tests__/session-list-show.test.d.ts.map +1 -0
  17. package/dist/__tests__/session-list-show.test.js +174 -0
  18. package/dist/__tests__/session-list-show.test.js.map +1 -0
  19. package/dist/__tests__/session-reset.test.js +23 -7
  20. package/dist/__tests__/session-reset.test.js.map +1 -1
  21. package/dist/__tests__/session-resume-backstop.test.js +2 -0
  22. package/dist/__tests__/session-resume-backstop.test.js.map +1 -1
  23. package/dist/__tests__/session-state-machine.test.js +190 -9
  24. package/dist/__tests__/session-state-machine.test.js.map +1 -1
  25. package/dist/__tests__/session-switch.test.js +4 -2
  26. package/dist/__tests__/session-switch.test.js.map +1 -1
  27. package/dist/__tests__/vocabulary-leak.test.js +5 -0
  28. package/dist/__tests__/vocabulary-leak.test.js.map +1 -1
  29. package/dist/commands/connect.d.ts.map +1 -1
  30. package/dist/commands/connect.js +5 -4
  31. package/dist/commands/connect.js.map +1 -1
  32. package/dist/commands/ingest.d.ts.map +1 -1
  33. package/dist/commands/ingest.js +9 -0
  34. package/dist/commands/ingest.js.map +1 -1
  35. package/dist/commands/orient.d.ts.map +1 -1
  36. package/dist/commands/orient.js +35 -6
  37. package/dist/commands/orient.js.map +1 -1
  38. package/dist/commands/profile.d.ts.map +1 -1
  39. package/dist/commands/profile.js +10 -5
  40. package/dist/commands/profile.js.map +1 -1
  41. package/dist/commands/session.d.ts +29 -0
  42. package/dist/commands/session.d.ts.map +1 -1
  43. package/dist/commands/session.js +141 -23
  44. package/dist/commands/session.js.map +1 -1
  45. package/dist/formatters/__tests__/session-list-show.test.d.ts +2 -0
  46. package/dist/formatters/__tests__/session-list-show.test.d.ts.map +1 -0
  47. package/dist/formatters/__tests__/session-list-show.test.js +159 -0
  48. package/dist/formatters/__tests__/session-list-show.test.js.map +1 -0
  49. package/dist/formatters/session.d.ts +46 -0
  50. package/dist/formatters/session.d.ts.map +1 -1
  51. package/dist/formatters/session.js +111 -0
  52. package/dist/formatters/session.js.map +1 -1
  53. package/dist/index.js +16 -2
  54. package/dist/index.js.map +1 -1
  55. package/dist/lib/conversation.d.ts +36 -0
  56. package/dist/lib/conversation.d.ts.map +1 -0
  57. package/dist/lib/conversation.js +66 -0
  58. package/dist/lib/conversation.js.map +1 -0
  59. package/dist/lib/productbrain-files.d.ts.map +1 -1
  60. package/dist/lib/productbrain-files.js +1 -0
  61. package/dist/lib/productbrain-files.js.map +1 -1
  62. package/dist/lib/productbrain-files.test.js +4 -2
  63. package/dist/lib/productbrain-files.test.js.map +1 -1
  64. package/dist/lib/session.d.ts +58 -12
  65. package/dist/lib/session.d.ts.map +1 -1
  66. package/dist/lib/session.js +196 -24
  67. package/dist/lib/session.js.map +1 -1
  68. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"productbrain-files.test.js","sourceRoot":"","sources":["../../src/lib/productbrain-files.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"productbrain-files.test.js","sourceRoot":"","sources":["../../src/lib/productbrain-files.test.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,17 @@
5
5
  *
6
6
  * WP-322 S2: session.json also serves as a closed marker (closedAt present)
7
7
  * for auto-resume logic when the last session closed <2h ago.
8
+ *
9
+ * WP-479 E2 (client half): when a conversation identity resolves (see ./conversation.ts —
10
+ * PB_CONVERSATION_ID / CLAUDE_CODE_SESSION_ID / CURSOR_CONVERSATION_ID / hashed
11
+ * CODEX_TUI_SESSION_LOG_PATH), the marker moves to `.productbrain/sessions/<conversationId>.json`
12
+ * so concurrent harness conversations sharing a worktree don't collide on one marker. Every
13
+ * function below resolves the conversation id ONCE (via resolveConversationId) and derives its
14
+ * path from that single value. With no identity signal present, resolveConversationId() returns
15
+ * null and every function falls back to the exact legacy `.productbrain/session.json` path and
16
+ * behavior — byte-identical, zero-config invariant. An explicit `conversationIdOverride` (only
17
+ * threaded from the CLI's `--conversation` flag on `pb session start`) takes priority over env
18
+ * detection; every other call site across the CLI calls these with no argument.
8
19
  */
9
20
  export interface SessionState {
10
21
  sessionId: string;
@@ -16,16 +27,24 @@ export interface SessionState {
16
27
  closedAt?: string;
17
28
  /** Effective profile name at session start — backstop for detecting a profile switch. */
18
29
  profile?: string;
30
+ /** WP-479 E2: the conversation identity this marker is scoped to, when one resolved. */
31
+ conversationId?: string;
19
32
  }
33
+ /** 2-hour window for auto-resume (WP-322 E1) — also the GC threshold for closed conversation
34
+ * markers (WP-479 E2): a closed marker past this window will never be auto-resumed, so it's
35
+ * garbage. Exported so commands/session.ts's resume logic uses the exact same constant. */
36
+ export declare const RESUME_WINDOW_MS: number;
20
37
  /** Shape returned by readClosedMarker when a closed marker is present. */
21
38
  export interface ClosedMarker {
22
39
  sessionId: string;
23
40
  closedAt: string;
24
41
  workspaceId: string;
25
42
  workspaceName: string;
43
+ /** WP-479 E2: the conversation identity this marker was scoped to, when one resolved. */
44
+ conversationId?: string;
26
45
  }
27
- export declare function readSession(): SessionState | null;
28
- export declare function writeSession(state: SessionState): void;
46
+ export declare function readSession(conversationIdOverride?: string): SessionState | null;
47
+ export declare function writeSession(state: SessionState, conversationIdOverride?: string): void;
29
48
  /**
30
49
  * Writes a closed marker instead of deleting the file.
31
50
  * If the file is already a closed marker (closedAt present), deletes it outright
@@ -33,20 +52,47 @@ export declare function writeSession(state: SessionState): void;
33
52
  * Uses atomic write (tmp → rename) to prevent partial writes on active sessions.
34
53
  * WP-322 S2 — enables auto-resume within 2h window.
35
54
  */
36
- export declare function clearSession(): void;
55
+ export declare function clearSession(conversationIdOverride?: string): void;
56
+ /**
57
+ * Delete the CURRENT conversation's marker outright — NO closed marker. Use when discarding a
58
+ * single conversation's session (clearSession writes a resume marker; that is only correct for
59
+ * session close).
60
+ */
61
+ export declare function discardSession(conversationIdOverride?: string): void;
62
+ /**
63
+ * Delete EVERY session marker in this project — the legacy `session.json` AND every per-conversation
64
+ * marker under `.productbrain/sessions/`. Use on a WORKSPACE change (profile switch / connect
65
+ * redirect) so the 2h auto-resume can't re-pin the old workspace from ANY marker.
66
+ *
67
+ * Review fix (Codex): `discardSession()` resolves only the CURRENT conversation's marker, so a
68
+ * workspace-switch caller with no conversation env would leave other conversations' active markers
69
+ * behind — later reusable against the NEW workspace. A workspace change invalidates ALL of them, so
70
+ * this clears the whole set rather than one marker.
71
+ */
72
+ export declare function discardAllSessions(): void;
73
+ /** True if a session marker file exists at all — active session OR closed marker. */
74
+ export declare function sessionFileExists(conversationIdOverride?: string): boolean;
75
+ /**
76
+ * True if ANY session marker exists — the legacy `session.json` OR any per-conversation marker under
77
+ * `.productbrain/sessions/`. Used by `pb session reset` so a hard reset (and the binding-flip recovery
78
+ * it backs) can detect + clear a sibling conversation's marker it has no env to resolve (Codex
79
+ * re-review — the flip guard refuses on ANY active marker, so reset must see them ALL).
80
+ */
81
+ export declare function hasAnySessionMarker(): boolean;
37
82
  /**
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.)
83
+ * True if ANY marker — legacy `session.json` OR any per-conversation marker represents an ACTIVE
84
+ * session (no `closedAt`). Used by `pb session reset` so its confirmation/`--force` guard fires when
85
+ * a SIBLING conversation's session is active, not only the current one (Codex re-review: an
86
+ * all-marker reset must not silently strand an active sibling server session). Closed markers are
87
+ * inert and don't require a prompt.
41
88
  */
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;
89
+ export declare function hasAnyActiveSession(): boolean;
45
90
  /**
46
- * Reads the closed marker from session.json.
91
+ * Reads the closed marker from the resolved conversation's marker file (or the legacy
92
+ * session.json when no conversation identity resolves).
47
93
  * Returns the marker if closedAt is present, otherwise null.
48
94
  * WP-322 S2 — used by runSessionStart to detect recent closed sessions.
49
95
  */
50
- export declare function readClosedMarker(): ClosedMarker | null;
51
- export declare function addCapturedEntry(entryId: string): void;
96
+ export declare function readClosedMarker(conversationIdOverride?: string): ClosedMarker | null;
97
+ export declare function addCapturedEntry(entryId: string, conversationIdOverride?: string): void;
52
98
  //# sourceMappingURL=session.d.ts.map
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/lib/session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAOH,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;IACjB,wFAAwF;IACxF,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;4FAE4F;AAC5F,eAAO,MAAM,gBAAgB,QAAqB,CAAC;AAEnD,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;IACtB,yFAAyF;IACzF,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAiFD,wBAAgB,WAAW,CAAC,sBAAsB,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAahF;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,YAAY,EAAE,sBAAsB,CAAC,EAAE,MAAM,GAAG,IAAI,CAUvF;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,sBAAsB,CAAC,EAAE,MAAM,GAAG,IAAI,CA6BlE;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,sBAAsB,CAAC,EAAE,MAAM,GAAG,IAAI,CAIpE;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAmBzC;AAED,qFAAqF;AACrF,wBAAgB,iBAAiB,CAAC,sBAAsB,CAAC,EAAE,MAAM,GAAG,OAAO,CAG1E;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAS7C;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAkB7C;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,sBAAsB,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAkBrF;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,sBAAsB,CAAC,EAAE,MAAM,GAAG,IAAI,CAKvF"}
@@ -5,10 +5,26 @@
5
5
  *
6
6
  * WP-322 S2: session.json also serves as a closed marker (closedAt present)
7
7
  * for auto-resume logic when the last session closed <2h ago.
8
+ *
9
+ * WP-479 E2 (client half): when a conversation identity resolves (see ./conversation.ts —
10
+ * PB_CONVERSATION_ID / CLAUDE_CODE_SESSION_ID / CURSOR_CONVERSATION_ID / hashed
11
+ * CODEX_TUI_SESSION_LOG_PATH), the marker moves to `.productbrain/sessions/<conversationId>.json`
12
+ * so concurrent harness conversations sharing a worktree don't collide on one marker. Every
13
+ * function below resolves the conversation id ONCE (via resolveConversationId) and derives its
14
+ * path from that single value. With no identity signal present, resolveConversationId() returns
15
+ * null and every function falls back to the exact legacy `.productbrain/session.json` path and
16
+ * behavior — byte-identical, zero-config invariant. An explicit `conversationIdOverride` (only
17
+ * threaded from the CLI's `--conversation` flag on `pb session start`) takes priority over env
18
+ * detection; every other call site across the CLI calls these with no argument.
8
19
  */
9
- import { existsSync, readFileSync, writeFileSync, renameSync, mkdirSync, unlinkSync } from 'fs';
20
+ import { existsSync, readFileSync, writeFileSync, renameSync, mkdirSync, unlinkSync, readdirSync } from 'fs';
10
21
  import { join } from 'path';
11
22
  import { findProjectRoot } from './config.js';
23
+ import { resolveConversationId } from './conversation.js';
24
+ /** 2-hour window for auto-resume (WP-322 E1) — also the GC threshold for closed conversation
25
+ * markers (WP-479 E2): a closed marker past this window will never be auto-resumed, so it's
26
+ * garbage. Exported so commands/session.ts's resume logic uses the exact same constant. */
27
+ export const RESUME_WINDOW_MS = 2 * 60 * 60 * 1000;
12
28
  /**
13
29
  * Resolve the `.productbrain/` session directory off the CLI project root — the SAME
14
30
  * walked-up root config.ts resolves credentials against (findProjectRoot), which is also the
@@ -28,8 +44,65 @@ function getSessionPath() {
28
44
  function getTmpSessionPath() {
29
45
  return join(getSessionDir(), 'session.json.tmp');
30
46
  }
31
- export function readSession() {
32
- const p = getSessionPath();
47
+ /** WP-479 E2: directory holding one marker file per resolved conversation id. */
48
+ function getSessionsDir() {
49
+ return join(getSessionDir(), 'sessions');
50
+ }
51
+ function getConversationMarkerPath(conversationId) {
52
+ return join(getSessionsDir(), `${conversationId}.json`);
53
+ }
54
+ function getConversationTmpMarkerPath(conversationId) {
55
+ return join(getSessionsDir(), `${conversationId}.json.tmp`);
56
+ }
57
+ /**
58
+ * Resolve the marker path for a given (already-resolved) conversation id: the conversation-scoped
59
+ * path under `.productbrain/sessions/` when non-null, else the legacy shared path — the single
60
+ * fork point every function below routes through.
61
+ */
62
+ function markerPath(conversationId) {
63
+ return conversationId ? getConversationMarkerPath(conversationId) : getSessionPath();
64
+ }
65
+ function tmpMarkerPath(conversationId) {
66
+ return conversationId ? getConversationTmpMarkerPath(conversationId) : getTmpSessionPath();
67
+ }
68
+ /**
69
+ * WP-479 E2 GC: delete closed conversation markers whose `closedAt` is older than the 2h resume
70
+ * window — a closed marker outside that window will never be auto-resumed, so it's inert litter.
71
+ * Best-effort, and cheap (no-ops when the sessions dir doesn't exist yet). Scoped to the
72
+ * conversation-marker directory only — the single legacy `session.json` is never GC'd here (its
73
+ * own clearSession/discardSession lifecycle is unchanged).
74
+ */
75
+ function gcExpiredConversationMarkers() {
76
+ const dir = getSessionsDir();
77
+ if (!existsSync(dir))
78
+ return;
79
+ let entries;
80
+ try {
81
+ entries = readdirSync(dir);
82
+ }
83
+ catch {
84
+ return;
85
+ }
86
+ const now = Date.now();
87
+ for (const entry of entries) {
88
+ if (!entry.endsWith('.json'))
89
+ continue;
90
+ const full = join(dir, entry);
91
+ try {
92
+ const raw = JSON.parse(readFileSync(full, 'utf8'));
93
+ if (raw.closedAt && now - new Date(raw.closedAt).getTime() > RESUME_WINDOW_MS) {
94
+ unlinkSync(full);
95
+ }
96
+ }
97
+ catch {
98
+ // Malformed or concurrently-removed marker — ignore, non-blocking.
99
+ }
100
+ }
101
+ }
102
+ export function readSession(conversationIdOverride) {
103
+ gcExpiredConversationMarkers();
104
+ const conversationId = resolveConversationId(conversationIdOverride);
105
+ const p = markerPath(conversationId);
33
106
  if (!existsSync(p))
34
107
  return null;
35
108
  try {
@@ -43,11 +116,17 @@ export function readSession() {
43
116
  return null;
44
117
  }
45
118
  }
46
- export function writeSession(state) {
47
- const dir = getSessionDir();
119
+ export function writeSession(state, conversationIdOverride) {
120
+ const conversationId = resolveConversationId(conversationIdOverride);
121
+ // Stamp the resolved conversation id onto the state itself (WP-479 E2: "store the
122
+ // conversationId in it") so a later bare readSession() round-trips it, and so the marker file's
123
+ // own contents self-identify which conversation it belongs to.
124
+ state.conversationId = conversationId ?? undefined;
125
+ const dir = conversationId ? getSessionsDir() : getSessionDir();
48
126
  if (!existsSync(dir))
49
127
  mkdirSync(dir, { recursive: true });
50
- writeFileSync(getSessionPath(), JSON.stringify(state, null, 2));
128
+ writeFileSync(markerPath(conversationId), JSON.stringify(state, null, 2));
129
+ gcExpiredConversationMarkers();
51
130
  }
52
131
  /**
53
132
  * Writes a closed marker instead of deleting the file.
@@ -56,8 +135,9 @@ export function writeSession(state) {
56
135
  * Uses atomic write (tmp → rename) to prevent partial writes on active sessions.
57
136
  * WP-322 S2 — enables auto-resume within 2h window.
58
137
  */
59
- export function clearSession() {
60
- const p = getSessionPath();
138
+ export function clearSession(conversationIdOverride) {
139
+ const conversationId = resolveConversationId(conversationIdOverride);
140
+ const p = markerPath(conversationId);
61
141
  if (!existsSync(p))
62
142
  return;
63
143
  try {
@@ -74,39 +154,130 @@ export function clearSession() {
74
154
  startedAt: existing.startedAt,
75
155
  entriesCaptured: [],
76
156
  closedAt: new Date().toISOString(),
157
+ conversationId: conversationId ?? undefined,
77
158
  };
78
- const dir = getSessionDir();
159
+ const dir = conversationId ? getSessionsDir() : getSessionDir();
79
160
  if (!existsSync(dir))
80
161
  mkdirSync(dir, { recursive: true });
81
- const tmp = getTmpSessionPath();
162
+ const tmp = tmpMarkerPath(conversationId);
82
163
  writeFileSync(tmp, JSON.stringify(marker, null, 2));
83
164
  renameSync(tmp, p);
84
165
  }
85
166
  catch {
86
167
  // If we can't write the marker, the file stays as-is (non-blocking).
87
168
  }
169
+ gcExpiredConversationMarkers();
88
170
  }
89
171
  /**
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.)
172
+ * Delete the CURRENT conversation's marker outright — NO closed marker. Use when discarding a
173
+ * single conversation's session (clearSession writes a resume marker; that is only correct for
174
+ * session close).
93
175
  */
94
- export function discardSession() {
95
- const p = getSessionPath();
176
+ export function discardSession(conversationIdOverride) {
177
+ const conversationId = resolveConversationId(conversationIdOverride);
178
+ const p = markerPath(conversationId);
96
179
  if (existsSync(p))
97
180
  unlinkSync(p);
98
181
  }
99
- /** True if a session.json file exists at all — active session OR closed marker. */
100
- export function sessionFileExists() {
101
- return existsSync(getSessionPath());
182
+ /**
183
+ * Delete EVERY session marker in this project — the legacy `session.json` AND every per-conversation
184
+ * marker under `.productbrain/sessions/`. Use on a WORKSPACE change (profile switch / connect
185
+ * redirect) so the 2h auto-resume can't re-pin the old workspace from ANY marker.
186
+ *
187
+ * Review fix (Codex): `discardSession()` resolves only the CURRENT conversation's marker, so a
188
+ * workspace-switch caller with no conversation env would leave other conversations' active markers
189
+ * behind — later reusable against the NEW workspace. A workspace change invalidates ALL of them, so
190
+ * this clears the whole set rather than one marker.
191
+ */
192
+ export function discardAllSessions() {
193
+ const legacy = getSessionPath();
194
+ if (existsSync(legacy))
195
+ unlinkSync(legacy);
196
+ const dir = getSessionsDir();
197
+ if (!existsSync(dir))
198
+ return;
199
+ let entries;
200
+ try {
201
+ entries = readdirSync(dir);
202
+ }
203
+ catch {
204
+ return;
205
+ }
206
+ for (const entry of entries) {
207
+ if (!entry.endsWith('.json'))
208
+ continue;
209
+ try {
210
+ unlinkSync(join(dir, entry));
211
+ }
212
+ catch {
213
+ // concurrently removed — ignore, non-blocking.
214
+ }
215
+ }
216
+ }
217
+ /** True if a session marker file exists at all — active session OR closed marker. */
218
+ export function sessionFileExists(conversationIdOverride) {
219
+ const conversationId = resolveConversationId(conversationIdOverride);
220
+ return existsSync(markerPath(conversationId));
221
+ }
222
+ /**
223
+ * True if ANY session marker exists — the legacy `session.json` OR any per-conversation marker under
224
+ * `.productbrain/sessions/`. Used by `pb session reset` so a hard reset (and the binding-flip recovery
225
+ * it backs) can detect + clear a sibling conversation's marker it has no env to resolve (Codex
226
+ * re-review — the flip guard refuses on ANY active marker, so reset must see them ALL).
227
+ */
228
+ export function hasAnySessionMarker() {
229
+ if (existsSync(getSessionPath()))
230
+ return true;
231
+ const dir = getSessionsDir();
232
+ if (!existsSync(dir))
233
+ return false;
234
+ try {
235
+ return readdirSync(dir).some((f) => f.endsWith('.json'));
236
+ }
237
+ catch {
238
+ return false;
239
+ }
240
+ }
241
+ /**
242
+ * True if ANY marker — legacy `session.json` OR any per-conversation marker — represents an ACTIVE
243
+ * session (no `closedAt`). Used by `pb session reset` so its confirmation/`--force` guard fires when
244
+ * a SIBLING conversation's session is active, not only the current one (Codex re-review: an
245
+ * all-marker reset must not silently strand an active sibling server session). Closed markers are
246
+ * inert and don't require a prompt.
247
+ */
248
+ export function hasAnyActiveSession() {
249
+ const isActive = (p) => {
250
+ try {
251
+ const raw = JSON.parse(readFileSync(p, 'utf8'));
252
+ return !raw.closedAt;
253
+ }
254
+ catch {
255
+ return false; // malformed/unreadable — treat as not-active (inert)
256
+ }
257
+ };
258
+ const legacy = getSessionPath();
259
+ if (existsSync(legacy) && isActive(legacy))
260
+ return true;
261
+ const dir = getSessionsDir();
262
+ if (!existsSync(dir))
263
+ return false;
264
+ try {
265
+ return readdirSync(dir).some((f) => f.endsWith('.json') && isActive(join(dir, f)));
266
+ }
267
+ catch {
268
+ return false;
269
+ }
102
270
  }
103
271
  /**
104
- * Reads the closed marker from session.json.
272
+ * Reads the closed marker from the resolved conversation's marker file (or the legacy
273
+ * session.json when no conversation identity resolves).
105
274
  * Returns the marker if closedAt is present, otherwise null.
106
275
  * WP-322 S2 — used by runSessionStart to detect recent closed sessions.
107
276
  */
108
- export function readClosedMarker() {
109
- const p = getSessionPath();
277
+ export function readClosedMarker(conversationIdOverride) {
278
+ gcExpiredConversationMarkers();
279
+ const conversationId = resolveConversationId(conversationIdOverride);
280
+ const p = markerPath(conversationId);
110
281
  if (!existsSync(p))
111
282
  return null;
112
283
  try {
@@ -118,17 +289,18 @@ export function readClosedMarker() {
118
289
  closedAt: raw.closedAt,
119
290
  workspaceId: raw.workspaceId,
120
291
  workspaceName: raw.workspaceName,
292
+ conversationId: raw.conversationId,
121
293
  };
122
294
  }
123
295
  catch {
124
296
  return null;
125
297
  }
126
298
  }
127
- export function addCapturedEntry(entryId) {
128
- const session = readSession();
299
+ export function addCapturedEntry(entryId, conversationIdOverride) {
300
+ const session = readSession(conversationIdOverride);
129
301
  if (!session)
130
302
  return;
131
303
  session.entriesCaptured.push(entryId);
132
- writeSession(session);
304
+ writeSession(session, conversationIdOverride);
133
305
  }
134
306
  //# sourceMappingURL=session.js.map
@@ -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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@productbrain/cli",
3
- "version": "0.1.0-beta.1919",
3
+ "version": "0.1.0-beta.1963",
4
4
  "description": "Product Brain — Chain knowledge and write-back CLI",
5
5
  "type": "module",
6
6
  "bin": {