@namzu/cli 16.0.0 → 17.0.0

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 (91) hide show
  1. package/README.md +34 -6
  2. package/dist/cli.d.ts.map +1 -1
  3. package/dist/cli.js +43 -8
  4. package/dist/cli.js.map +1 -1
  5. package/dist/commands/drain.d.ts.map +1 -1
  6. package/dist/commands/drain.js +23 -1
  7. package/dist/commands/drain.js.map +1 -1
  8. package/dist/commands/run-stream.d.ts +3 -2
  9. package/dist/commands/run-stream.d.ts.map +1 -1
  10. package/dist/commands/run-stream.js +32 -37
  11. package/dist/commands/run-stream.js.map +1 -1
  12. package/dist/commands/run.d.ts.map +1 -1
  13. package/dist/commands/run.js +26 -24
  14. package/dist/commands/run.js.map +1 -1
  15. package/dist/commands/state.d.ts +9 -0
  16. package/dist/commands/state.d.ts.map +1 -0
  17. package/dist/commands/state.js +110 -0
  18. package/dist/commands/state.js.map +1 -0
  19. package/dist/config/load.d.ts +1 -1
  20. package/dist/config/load.d.ts.map +1 -1
  21. package/dist/config/load.js +3 -4
  22. package/dist/config/load.js.map +1 -1
  23. package/dist/doctor/checks/chain.d.ts +1 -1
  24. package/dist/doctor/checks/chain.d.ts.map +1 -1
  25. package/dist/doctor/checks/chain.js +2 -4
  26. package/dist/doctor/checks/chain.js.map +1 -1
  27. package/dist/integrations/files/attachment-store.d.ts.map +1 -1
  28. package/dist/integrations/files/attachment-store.js +3 -3
  29. package/dist/integrations/files/attachment-store.js.map +1 -1
  30. package/dist/integrations/plugins/runtime.d.ts.map +1 -1
  31. package/dist/integrations/plugins/runtime.js +4 -2
  32. package/dist/integrations/plugins/runtime.js.map +1 -1
  33. package/dist/integrations/providers/credential-store.d.ts.map +1 -1
  34. package/dist/integrations/providers/credential-store.js +13 -12
  35. package/dist/integrations/providers/credential-store.js.map +1 -1
  36. package/dist/integrations/providers/preferences.d.ts.map +1 -1
  37. package/dist/integrations/providers/preferences.js +5 -5
  38. package/dist/integrations/providers/preferences.js.map +1 -1
  39. package/dist/integrations/sessions/store.d.ts +31 -9
  40. package/dist/integrations/sessions/store.d.ts.map +1 -1
  41. package/dist/integrations/sessions/store.js +308 -63
  42. package/dist/integrations/sessions/store.js.map +1 -1
  43. package/dist/integrations/state/home.d.ts +25 -0
  44. package/dist/integrations/state/home.d.ts.map +1 -0
  45. package/dist/integrations/state/home.js +53 -0
  46. package/dist/integrations/state/home.js.map +1 -0
  47. package/dist/integrations/state/private-directory.d.ts +15 -0
  48. package/dist/integrations/state/private-directory.d.ts.map +1 -0
  49. package/dist/integrations/state/private-directory.js +41 -0
  50. package/dist/integrations/state/private-directory.js.map +1 -0
  51. package/dist/integrations/state/report.d.ts +129 -0
  52. package/dist/integrations/state/report.d.ts.map +1 -0
  53. package/dist/integrations/state/report.js +831 -0
  54. package/dist/integrations/state/report.js.map +1 -0
  55. package/dist/integrations/subagents/activity.d.ts +18 -0
  56. package/dist/integrations/subagents/activity.d.ts.map +1 -1
  57. package/dist/integrations/subagents/activity.js +64 -7
  58. package/dist/integrations/subagents/activity.js.map +1 -1
  59. package/dist/integrations/subagents/runtime.d.ts +3 -1
  60. package/dist/integrations/subagents/runtime.d.ts.map +1 -1
  61. package/dist/integrations/subagents/runtime.js +46 -7
  62. package/dist/integrations/subagents/runtime.js.map +1 -1
  63. package/dist/integrations/trust/store.d.ts.map +1 -1
  64. package/dist/integrations/trust/store.js +6 -6
  65. package/dist/integrations/trust/store.js.map +1 -1
  66. package/dist/memory/store.d.ts.map +1 -1
  67. package/dist/memory/store.js +7 -7
  68. package/dist/memory/store.js.map +1 -1
  69. package/dist/skills/store.d.ts +2 -1
  70. package/dist/skills/store.d.ts.map +1 -1
  71. package/dist/skills/store.js +11 -4
  72. package/dist/skills/store.js.map +1 -1
  73. package/dist/tui/AgentExplorer.d.ts +26 -5
  74. package/dist/tui/AgentExplorer.d.ts.map +1 -1
  75. package/dist/tui/AgentExplorer.js +125 -14
  76. package/dist/tui/AgentExplorer.js.map +1 -1
  77. package/dist/tui/App.d.ts.map +1 -1
  78. package/dist/tui/App.js +263 -96
  79. package/dist/tui/App.js.map +1 -1
  80. package/dist/tui/agent.d.ts +10 -2
  81. package/dist/tui/agent.d.ts.map +1 -1
  82. package/dist/tui/agent.js +87 -21
  83. package/dist/tui/agent.js.map +1 -1
  84. package/dist/tui/slashCommands.d.ts +1 -1
  85. package/dist/tui/slashCommands.d.ts.map +1 -1
  86. package/dist/tui/slashCommands.js +2 -2
  87. package/dist/tui/slashCommands.js.map +1 -1
  88. package/dist/user-commands/store.d.ts.map +1 -1
  89. package/dist/user-commands/store.js +29 -7
  90. package/dist/user-commands/store.js.map +1 -1
  91. package/package.json +2 -2
@@ -1,58 +1,179 @@
1
1
  /**
2
2
  * Conversation persistence for the TUI, built on the SDK's session
3
- * hierarchy (`DiskSessionStore`) — no parallel store. Each cwd is one
4
- * "project" (a `cli.json` pointer keeps its id stable across launches),
5
- * every conversation is a Session under a fixed CLI thread, and the
6
- * conversation's messages are appended to the session as turns complete.
3
+ * hierarchy (`DiskSessionStore`) — no parallel store. Each canonical cwd is
4
+ * one Project (an immutable root binding keeps its id stable across launches),
5
+ * every conversation is a Session under a fixed CLI Topic, and the
6
+ * conversation's messages are appended to the Session as turns complete.
7
7
  *
8
8
  * This is what powers `/resume`: list recent sessions, load a chosen
9
- * session's messages, and keep chatting in it. The session store roots at
10
- * `<cwd>/.namzu`, the same root `query()` writes its runs under, so a
11
- * session's `session.json` and its `runs/` live in one place.
9
+ * session's messages, and keep chatting in it. New workspaces bind their
10
+ * canonical working directory to one Project below the application home;
11
+ * existing project-local stores remain readable through the legacy route.
12
12
  */
13
- import { mkdirSync, readFileSync, writeFileSync } from 'node:fs';
14
- import { join } from 'node:path';
13
+ import { randomBytes } from 'node:crypto';
14
+ import { chmodSync, closeSync, fsyncSync, lstatSync, mkdirSync, openSync, readFileSync, readdirSync, renameSync, rmSync, writeFileSync, } from 'node:fs';
15
+ import { realpath } from 'node:fs/promises';
16
+ import { join, resolve } from 'node:path';
15
17
  import { isDeepStrictEqual } from 'node:util';
16
- import { DiskSessionGoalStore, DiskSessionStore, UNKNOWN_TENANT_ID, asProjectId, asSessionId, asTopicId, requireOpenProject, } from '@namzu/sdk';
18
+ import { DefaultPathBuilder, DiskSessionGoalStore, DiskSessionStore, UNKNOWN_TENANT_ID, asProjectId, asSessionId, asTopicId, requireOpenProject, } from '@namzu/sdk';
19
+ import { restrictToOwner } from '../providers/credential-store.js';
20
+ import { resolveNamzuHome } from '../state/home.js';
21
+ import { ensurePrivateStateDirectory } from '../state/private-directory.js';
17
22
  import { DiskConversationEvidence, } from './turn-evidence.js';
18
23
  // `UNKNOWN_TENANT_ID` is already a `TenantId`; the assertion this replaced
19
24
  // re-stated a type the constant carries.
20
25
  const TENANT = UNKNOWN_TENANT_ID;
21
26
  const THREAD = asTopicId('top_namzu-cli');
22
- /**
23
- * Open (or initialize) the cwd's CLI project. Returns the handle used by
24
- * the other helpers. Throws only on unexpected store errors; callers treat
25
- * failures as "persistence unavailable" and run without it.
26
- */
27
- export async function openSessions(cwd) {
28
- const root = join(cwd, '.namzu');
29
- const store = new DiskSessionStore({ rootDir: root });
30
- const pointerPath = join(root, 'cli.json');
31
- let projectId;
27
+ const AUTHORED_LOCAL_ENTRIES = new Set(['commands', 'config.yaml', 'plugins', 'skills']);
28
+ async function inspectLegacyRoute(localRoot, options = {}) {
32
29
  try {
33
- const ptr = JSON.parse(readFileSync(pointerPath, 'utf8'));
34
- // Prefix-checked, and a bad pointer is treated exactly like a stale one:
35
- // the next lines already drop a projectId whose directory is gone, so a
36
- // hand-edited `cli.json` takes the same path instead of carrying a
37
- // non-id into a store lookup.
38
- if (typeof ptr.projectId === 'string' && ptr.projectId.startsWith('prj_')) {
39
- projectId = asProjectId(ptr.projectId);
30
+ const rootEntry = lstatSync(localRoot);
31
+ if (rootEntry.isSymbolicLink() || !rootEntry.isDirectory()) {
32
+ return {
33
+ kind: 'refuse',
34
+ detail: `${localRoot} is not a real directory.`,
35
+ };
40
36
  }
41
37
  }
42
- catch {
43
- // no pointer yet
38
+ catch (error) {
39
+ if (error.code === 'ENOENT')
40
+ return { kind: 'none' };
41
+ return {
42
+ kind: 'refuse',
43
+ detail: `${localRoot} cannot be inspected: ${error instanceof Error ? error.message : String(error)}`,
44
+ };
45
+ }
46
+ const pointerPath = join(localRoot, 'cli.json');
47
+ let raw;
48
+ try {
49
+ raw = JSON.parse(readFileSync(pointerPath, 'utf8'));
50
+ }
51
+ catch (error) {
52
+ if (error.code === 'ENOENT') {
53
+ // When the working directory is the OS home, the project-local path
54
+ // and the application home are the same directory. Its ordinary config
55
+ // and generated partitions are not evidence of an unbound legacy
56
+ // project. A present cli.json is still inspected below; only the
57
+ // no-pointer classification is relaxed for this natural overlap.
58
+ if (options.allowApplicationHomeEntries)
59
+ return { kind: 'none' };
60
+ const unclassified = readdirSync(localRoot).filter((name) => !AUTHORED_LOCAL_ENTRIES.has(name));
61
+ return unclassified.length === 0
62
+ ? { kind: 'none' }
63
+ : {
64
+ kind: 'refuse',
65
+ detail: `${localRoot} contains legacy or unknown generated entries (${unclassified.join(', ')}) but no cli.json binding.`,
66
+ };
67
+ }
68
+ return {
69
+ kind: 'refuse',
70
+ detail: `${pointerPath} is not valid JSON; refusing to hide recoverable local history behind a new central Project.`,
71
+ };
72
+ }
73
+ const projectIdValue = typeof raw === 'object' && raw !== null && 'projectId' in raw
74
+ ? raw.projectId
75
+ : undefined;
76
+ if (typeof projectIdValue !== 'string' || !projectIdValue.startsWith('prj_')) {
77
+ return {
78
+ kind: 'refuse',
79
+ detail: `${pointerPath} does not contain a valid Project id.`,
80
+ };
81
+ }
82
+ const projectId = asProjectId(projectIdValue);
83
+ try {
84
+ const legacyStore = new DiskSessionStore({ rootDir: localRoot });
85
+ const project = await legacyStore.getProject(projectId, TENANT);
86
+ if (!project) {
87
+ return {
88
+ kind: 'refuse',
89
+ detail: `${pointerPath} points to ${projectId}, but that local Project record is missing.`,
90
+ };
91
+ }
92
+ const workingDirectory = resolve(localRoot, '..');
93
+ if (project.rootPath !== undefined && project.rootPath !== workingDirectory) {
94
+ return {
95
+ kind: 'refuse',
96
+ detail: `${pointerPath} points to ${projectId}, but that Project is bound to ${project.rootPath} instead of ${workingDirectory}.`,
97
+ };
98
+ }
99
+ return { kind: 'valid', root: localRoot, projectId };
44
100
  }
45
- if (projectId && !(await store.getProject(projectId, TENANT))) {
46
- projectId = undefined; // pointer is stale (dir wiped)
101
+ catch (error) {
102
+ return {
103
+ kind: 'refuse',
104
+ detail: `The legacy Project selected by ${pointerPath} cannot be read: ${error instanceof Error ? error.message : String(error)}`,
105
+ };
47
106
  }
48
- if (!projectId) {
49
- const project = await store.createProject({ tenantId: TENANT, name: 'namzu CLI' }, TENANT);
107
+ }
108
+ /**
109
+ * Select one durable backend for the canonical working directory.
110
+ *
111
+ * A valid legacy store remains authoritative until a separately leased data
112
+ * migration exists. A split or corrupt estate refuses; it never turns missing
113
+ * metadata into an apparently empty new history.
114
+ */
115
+ export async function openSessions(cwd, options = {}) {
116
+ const workingDirectory = await realpath(resolve(cwd));
117
+ const centralRoot = resolve(options.stateRoot ??
118
+ resolveNamzuHome({
119
+ ...(options.home !== undefined ? { home: options.home } : {}),
120
+ ...(options.env !== undefined ? { env: options.env } : {}),
121
+ }));
122
+ const localRoot = join(workingDirectory, '.namzu');
123
+ const overlaps = centralRoot === localRoot;
124
+ const legacy = await inspectLegacyRoute(localRoot, {
125
+ allowApplicationHomeEntries: overlaps,
126
+ });
127
+ if (legacy.kind === 'refuse') {
128
+ throw new Error(`${legacy.detail} Run \`namzu state\` for a read-only inventory.`);
129
+ }
130
+ const centralStore = new DiskSessionStore({ rootDir: centralRoot });
131
+ const centralProject = await centralStore.findProjectByRootPath(workingDirectory, TENANT);
132
+ if (legacy.kind === 'valid' &&
133
+ centralProject &&
134
+ (!overlaps || centralProject.id !== legacy.projectId)) {
135
+ throw new Error(`Both legacy state at ${localRoot} and central state at ${centralRoot} are bound to this workspace. Refusing to choose between split histories; run \`namzu state\` for the two inventories.`);
136
+ }
137
+ let root;
138
+ let store;
139
+ let projectId;
140
+ let backend;
141
+ if (legacy.kind === 'valid') {
142
+ root = legacy.root;
143
+ store = new DiskSessionStore({ rootDir: root });
144
+ projectId = legacy.projectId;
145
+ backend = 'legacy';
146
+ ensurePrivateStateDirectory(root, 'projects');
147
+ ensurePrivateStateDirectory(root, 'goals');
148
+ }
149
+ else {
150
+ root = centralRoot;
151
+ ensurePrivateStateDirectory(root, 'projects');
152
+ ensurePrivateStateDirectory(root, 'goals');
153
+ store = centralStore;
154
+ let project = centralProject;
155
+ if (!project) {
156
+ try {
157
+ project = await store.createProject({ tenantId: TENANT, name: 'namzu CLI', rootPath: workingDirectory }, TENANT);
158
+ }
159
+ catch (error) {
160
+ // Another process may have won the immutable root binding between our
161
+ // lookup and publication. Re-read; every other failure stays a failure.
162
+ project = await store.findProjectByRootPath(workingDirectory, TENANT);
163
+ if (!project)
164
+ throw error;
165
+ }
166
+ }
50
167
  projectId = project.id;
51
- mkdirSync(root, { recursive: true });
52
- writeFileSync(pointerPath, `${JSON.stringify({ projectId }, null, 2)}\n`, {
53
- mode: 0o600,
54
- });
168
+ backend = 'central';
55
169
  }
170
+ const projectStateRoot = new DefaultPathBuilder(root).projectDir(projectId);
171
+ const controlRoot = backend === 'central' ? join(projectStateRoot, 'cli') : root;
172
+ if (backend === 'central')
173
+ ensurePrivateStateDirectory(projectStateRoot, 'cli');
174
+ // The root also holds authored project commands/plugins and may legitimately
175
+ // be shareable. Generated conversation and goal state is not: make those
176
+ // partitions the owner-only privacy boundary before any store writes.
56
177
  return {
57
178
  store,
58
179
  goals: new DiskSessionGoalStore({ rootDir: root, sessions: store }),
@@ -60,6 +181,9 @@ export async function openSessions(cwd) {
60
181
  topicId: THREAD,
61
182
  tenantId: TENANT,
62
183
  root,
184
+ projectStateRoot,
185
+ controlRoot,
186
+ backend,
63
187
  turnEvidence: new DiskConversationEvidence({ root, projectId }),
64
188
  };
65
189
  }
@@ -67,13 +191,94 @@ export async function openSessions(cwd) {
67
191
  // namzu conversation id, so reopening that session resumes the same
68
192
  // transcript. Kept as a small JSON pointer beside cli.json.
69
193
  const DESKTOP_MAP = 'desktop-sessions.json';
194
+ const DESKTOP_MAP_LOCK = `${DESKTOP_MAP}.lock`;
195
+ const DESKTOP_MAP_LOCK_TIMEOUT_MS = 5_000;
196
+ const DESKTOP_MAP_LOCK_POLL_MS = 10;
70
197
  function readDesktopMap(root) {
198
+ const path = join(root, DESKTOP_MAP);
199
+ let raw;
71
200
  try {
72
- const raw = JSON.parse(readFileSync(join(root, DESKTOP_MAP), 'utf8'));
73
- return raw && typeof raw === 'object' ? raw : {};
201
+ raw = JSON.parse(readFileSync(path, 'utf8'));
74
202
  }
75
- catch {
76
- return {};
203
+ catch (error) {
204
+ if (error.code === 'ENOENT')
205
+ return {};
206
+ throw new Error(`Cannot read ${path}; refusing to replace an existing desktop-session map: ${error instanceof Error ? error.message : String(error)}`);
207
+ }
208
+ if (typeof raw !== 'object' || raw === null || Array.isArray(raw)) {
209
+ throw new Error(`Cannot read ${path}; its top level must be an object. Refusing to replace the existing desktop-session map.`);
210
+ }
211
+ const map = {};
212
+ for (const [key, value] of Object.entries(raw)) {
213
+ if (typeof value !== 'string' || !value.startsWith('ses_')) {
214
+ throw new Error(`Cannot read ${path}; desktop session ${JSON.stringify(key)} does not name a Session id. Refusing to replace the existing map.`);
215
+ }
216
+ // Validate the full branded-id grammar instead of accepting only a
217
+ // prefix that happens to look right.
218
+ asSessionId(value);
219
+ map[key] = value;
220
+ }
221
+ return map;
222
+ }
223
+ function wait(ms) {
224
+ return new Promise((resolveWait) => setTimeout(resolveWait, ms));
225
+ }
226
+ /**
227
+ * Hold one process-wide lease while mutating the shared desktop map.
228
+ *
229
+ * `open(..., "wx")` is the filesystem's exclusive-create primitive, so two
230
+ * Namzu processes cannot both perform a stale read-modify-write. A crashed
231
+ * owner deliberately leaves a lock behind: guessing that it is stale and
232
+ * deleting it automatically would reintroduce the race this lease prevents.
233
+ */
234
+ async function acquireDesktopMapLock(root) {
235
+ mkdirSync(root, { recursive: true });
236
+ const path = join(root, DESKTOP_MAP_LOCK);
237
+ const token = `${process.pid}:${randomBytes(12).toString('hex')}`;
238
+ const deadline = Date.now() + DESKTOP_MAP_LOCK_TIMEOUT_MS;
239
+ for (;;) {
240
+ let descriptor;
241
+ try {
242
+ descriptor = openSync(path, 'wx', 0o600);
243
+ writeFileSync(descriptor, `${token}\n`, 'utf8');
244
+ fsyncSync(descriptor);
245
+ closeSync(descriptor);
246
+ descriptor = undefined;
247
+ if (process.platform !== 'win32')
248
+ chmodSync(path, 0o600);
249
+ restrictToOwner(path);
250
+ return () => {
251
+ try {
252
+ if (readFileSync(path, 'utf8').trim() === token)
253
+ rmSync(path, { force: true });
254
+ }
255
+ catch (error) {
256
+ if (error.code !== 'ENOENT')
257
+ throw error;
258
+ }
259
+ };
260
+ }
261
+ catch (error) {
262
+ if (descriptor !== undefined)
263
+ closeSync(descriptor);
264
+ if (error.code !== 'EEXIST') {
265
+ // We may have created the path and then failed to initialize it. It
266
+ // cannot be mistaken for somebody else's lock because exclusive
267
+ // create succeeded in this branch.
268
+ try {
269
+ if (readFileSync(path, 'utf8').trim() === token)
270
+ rmSync(path, { force: true });
271
+ }
272
+ catch {
273
+ // Preserve the original acquisition error.
274
+ }
275
+ throw error;
276
+ }
277
+ if (Date.now() >= deadline) {
278
+ throw new Error(`Timed out waiting for ${path}. Another Namzu process may be updating desktop session bindings. If no Namzu process is running, inspect and remove this stale lock manually.`);
279
+ }
280
+ await wait(DESKTOP_MAP_LOCK_POLL_MS);
281
+ }
77
282
  }
78
283
  }
79
284
  /**
@@ -83,24 +288,45 @@ function readDesktopMap(root) {
83
288
  * the mapped id was wiped.
84
289
  */
85
290
  export async function resolveConversation(s, key) {
86
- const map = readDesktopMap(s.root);
291
+ const existing = await resolveExistingConversation(s, key, readDesktopMap(s.controlRoot));
292
+ if (existing) {
293
+ await requireWritableConversation(s, existing, 'continue keyed conversation');
294
+ return existing;
295
+ }
296
+ const release = await acquireDesktopMapLock(s.controlRoot);
297
+ try {
298
+ // A different process may have published this key while we waited.
299
+ const map = readDesktopMap(s.controlRoot);
300
+ const winner = await resolveExistingConversation(s, key, map);
301
+ if (winner) {
302
+ await requireWritableConversation(s, winner, 'continue keyed conversation');
303
+ return winner;
304
+ }
305
+ const id = await startConversation(s);
306
+ map[key] = id;
307
+ writePrivateJson(s.controlRoot, DESKTOP_MAP, map);
308
+ return id;
309
+ }
310
+ finally {
311
+ release();
312
+ }
313
+ }
314
+ /** Read an external-session binding without creating or widening its scope. */
315
+ export async function findMappedConversation(s, key) {
316
+ return await resolveExistingConversation(s, key, readDesktopMap(s.controlRoot));
317
+ }
318
+ async function resolveExistingConversation(s, key, map) {
87
319
  const existing = map[key];
88
320
  // Same treatment as the project pointer above: a mapped id that is not an
89
- // id is indistinguishable from one whose session was wiped, and this
90
- // function already knows what to do about that — mint a fresh one.
321
+ // id is indistinguishable from one whose session was wiped. The read-only
322
+ // caller reports no binding; the writable caller may then mint a fresh one.
91
323
  if (existing?.startsWith('ses_')) {
92
324
  const mapped = asSessionId(existing);
93
325
  const session = await s.store.getSession(mapped, s.tenantId);
94
- if (session) {
95
- await requireWritableConversation(s, mapped, 'continue keyed conversation');
326
+ if (session?.projectId === s.projectId && session.topicId === s.topicId)
96
327
  return mapped;
97
- }
98
328
  }
99
- const id = await startConversation(s);
100
- map[key] = id;
101
- mkdirSync(s.root, { recursive: true });
102
- writeFileSync(join(s.root, DESKTOP_MAP), `${JSON.stringify(map, null, 2)}\n`, { mode: 0o600 });
103
- return id;
329
+ return null;
104
330
  }
105
331
  /**
106
332
  * Start a fresh conversation; returns its session id.
@@ -198,13 +424,13 @@ export async function appendMessages(s, sessionId, messages) {
198
424
  export async function replaceConversation(s, sessionId, messages) {
199
425
  await requireWritableConversation(s, sessionId, 'replace conversation history');
200
426
  const existing = await loadConversation(s, sessionId);
201
- const titles = readTitles(s.root);
427
+ const titles = readTitles(s.controlRoot);
202
428
  if (titles[sessionId] === undefined) {
203
429
  titles[sessionId] = {
204
430
  title: conversationTitle(existing),
205
431
  named: false,
206
432
  };
207
- writeTitles(s.root, titles);
433
+ writeTitles(s.controlRoot, titles);
208
434
  }
209
435
  await s.store.replaceMessages(sessionId, messages, s.tenantId);
210
436
  }
@@ -231,12 +457,12 @@ export async function loadResumableConversation(s, sessionId) {
231
457
  export async function listRecent(s, limit = 20) {
232
458
  await requireOpenProject(s.store, s.projectId, s.tenantId, 'list resumable conversations');
233
459
  const sessions = await s.store.listSessionsByTopic(s.topicId, s.tenantId);
234
- const titles = readTitles(s.root);
460
+ const titles = readTitles(s.controlRoot);
235
461
  const out = [];
236
462
  for (const sess of sessions) {
237
- // The CLI topic id is intentionally stable, so a store root that contains
463
+ // The CLI Topic id is intentionally stable, so a store root that contains
238
464
  // an older Project can contain the same topic id more than once. The cwd's
239
- // cli.json pointer — `s.projectId` — is the authority; topic membership
465
+ // selected Project — `s.projectId` — is the authority; Topic membership
240
466
  // alone is not. Archived Session records are tombstones, not resume rows.
241
467
  if (sess.projectId !== s.projectId || sess.status === 'archived')
242
468
  continue;
@@ -306,12 +532,31 @@ function readTitles(root) {
306
532
  }
307
533
  }
308
534
  function writeTitles(root, titles) {
535
+ writePrivateJson(root, TITLES_FILE, titles);
536
+ }
537
+ /** Crash-safe publication for the small CLI sidecars scoped to one Project. */
538
+ function writePrivateJson(root, filename, value) {
309
539
  mkdirSync(root, { recursive: true });
310
- writeFileSync(titlesPath(root), `${JSON.stringify(titles, null, 2)}\n`, 'utf-8');
540
+ const path = join(root, filename);
541
+ const temporary = `${path}.tmp.${process.pid}.${randomBytes(6).toString('hex')}`;
542
+ try {
543
+ writeFileSync(temporary, `${JSON.stringify(value, null, 2)}\n`, {
544
+ encoding: 'utf-8',
545
+ flag: 'wx',
546
+ mode: 0o600,
547
+ });
548
+ if (process.platform !== 'win32')
549
+ chmodSync(temporary, 0o600);
550
+ restrictToOwner(temporary);
551
+ renameSync(temporary, path);
552
+ }
553
+ finally {
554
+ rmSync(temporary, { force: true });
555
+ }
311
556
  }
312
557
  /** The name a person gave this conversation, or `undefined`. */
313
558
  export function titleOf(s, sessionId) {
314
- const stored = readTitles(s.root)[sessionId];
559
+ const stored = readTitles(s.controlRoot)[sessionId];
315
560
  return stored?.named ? stored.title : undefined;
316
561
  }
317
562
  /**
@@ -322,13 +567,13 @@ export function titleOf(s, sessionId) {
322
567
  * show a blank row that reads as a conversation with nothing in it.
323
568
  */
324
569
  export function setTitle(s, sessionId, title) {
325
- const titles = readTitles(s.root);
570
+ const titles = readTitles(s.controlRoot);
326
571
  const trimmed = title.trim();
327
572
  if (trimmed === '')
328
573
  delete titles[sessionId];
329
574
  else
330
575
  titles[sessionId] = { title: trimmed, named: true };
331
- writeTitles(s.root, titles);
576
+ writeTitles(s.controlRoot, titles);
332
577
  }
333
578
  /**
334
579
  * Continue in a copy, leaving the original where it is.
@@ -400,7 +645,7 @@ export async function forkConversationBeforeUser(s, sourceId, userOrdinal, expec
400
645
  }
401
646
  /** Create and name one fork after every boundary decision has been validated. */
402
647
  async function writeFork(s, sourceId, sourceMessages, copiedMessages, boundary) {
403
- const source = readTitles(s.root)[sourceId]?.title ?? conversationTitle(sourceMessages);
648
+ const source = readTitles(s.controlRoot)[sourceId]?.title ?? conversationTitle(sourceMessages);
404
649
  const origin = await forkOrigin(s, sourceId, sourceMessages, copiedMessages.length, boundary);
405
650
  const id = await createConversation(s);
406
651
  // The copied model context is published as one replacement record and read
@@ -412,7 +657,7 @@ async function writeFork(s, sourceId, sourceMessages, copiedMessages, boundary)
412
657
  throw new Error(`The forked conversation did not preserve its exact copied history. No lineage record was published for ${id}.`);
413
658
  }
414
659
  await s.turnEvidence?.recordOrigin(id, origin);
415
- const title = nextForkName(Object.fromEntries(Object.entries(readTitles(s.root)).map(([key, value]) => [key, value.title])), source);
660
+ const title = nextForkName(Object.fromEntries(Object.entries(readTitles(s.controlRoot)).map(([key, value]) => [key, value.title])), source);
416
661
  setTitle(s, id, title);
417
662
  return { id, title };
418
663
  }
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/integrations/sessions/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/integrations/sessions/store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ /** The one user-level application home used by every Namzu CLI subsystem. */
2
+ export interface ResolveNamzuHomeOptions {
3
+ /** OS home override for embedding and tests. */
4
+ readonly home?: string;
5
+ /** Environment override for embedding and tests. */
6
+ readonly env?: NodeJS.ProcessEnv;
7
+ }
8
+ export declare class NamzuHomeError extends Error {
9
+ readonly name = "NamzuHomeError";
10
+ }
11
+ /**
12
+ * Resolve the user-level Namzu application home without creating it.
13
+ *
14
+ * `NAMZU_HOME` is an explicit operator assertion, so it is validated more
15
+ * strictly than the default: it must already be a real directory and its
16
+ * canonical identity is returned. The default remains creatable on first use.
17
+ */
18
+ export declare function resolveNamzuHome(options?: ResolveNamzuHomeOptions): string;
19
+ /**
20
+ * Compatibility helper for APIs whose existing `home` argument means the OS
21
+ * home, not the application directory. An explicit argument remains the test
22
+ * seam it has always been; production defaults honor `NAMZU_HOME`.
23
+ */
24
+ export declare function namzuHomePath(home?: string): string;
25
+ //# sourceMappingURL=home.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"home.d.ts","sourceRoot":"","sources":["../../../src/integrations/state/home.ts"],"names":[],"mappings":"AAIA,6EAA6E;AAC7E,MAAM,WAAW,uBAAuB;IACvC,gDAAgD;IAChD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,oDAAoD;IACpD,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;CAChC;AAED,qBAAa,cAAe,SAAQ,KAAK;IACxC,SAAkB,IAAI,oBAAmB;CACzC;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,uBAA4B,GAAG,MAAM,CAsC9E;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAEnD"}