@rubytech/create-maxy-code 0.1.90 → 0.1.92
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +31 -0
- package/dist/port-resolution.js +1 -1
- package/package.json +1 -1
- package/payload/platform/package-lock.json +18 -4
- package/payload/platform/services/claude-session-manager/dist/fs-watcher.d.ts +4 -3
- package/payload/platform/services/claude-session-manager/dist/fs-watcher.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/fs-watcher.js +159 -219
- package/payload/platform/services/claude-session-manager/dist/fs-watcher.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/http-server.d.ts +9 -0
- package/payload/platform/services/claude-session-manager/dist/http-server.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/http-server.js +262 -67
- package/payload/platform/services/claude-session-manager/dist/http-server.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/index.js +10 -0
- package/payload/platform/services/claude-session-manager/dist/index.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/jsonl-enumerator.d.ts +10 -4
- package/payload/platform/services/claude-session-manager/dist/jsonl-enumerator.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/jsonl-enumerator.js +27 -8
- package/payload/platform/services/claude-session-manager/dist/jsonl-enumerator.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/jsonl-path.d.ts +8 -0
- package/payload/platform/services/claude-session-manager/dist/jsonl-path.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/jsonl-path.js +11 -0
- package/payload/platform/services/claude-session-manager/dist/jsonl-path.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/pty-spawner.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/pty-spawner.js +14 -6
- package/payload/platform/services/claude-session-manager/dist/pty-spawner.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/reaper.d.ts +2 -0
- package/payload/platform/services/claude-session-manager/dist/reaper.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/reaper.js +6 -3
- package/payload/platform/services/claude-session-manager/dist/reaper.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/session-store.d.ts +6 -4
- package/payload/platform/services/claude-session-manager/dist/session-store.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/session-store.js +8 -10
- package/payload/platform/services/claude-session-manager/dist/session-store.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/types.d.ts +0 -4
- package/payload/platform/services/claude-session-manager/dist/types.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/user-title-store.d.ts +39 -0
- package/payload/platform/services/claude-session-manager/dist/user-title-store.d.ts.map +1 -0
- package/payload/platform/services/claude-session-manager/dist/user-title-store.js +138 -0
- package/payload/platform/services/claude-session-manager/dist/user-title-store.js.map +1 -0
- package/payload/premium-plugins/real-agent/plugins/brochures/skills/make-brochure/SKILL.md +1 -1
- package/payload/premium-plugins/real-agent/plugins/brochures/skills/property-brochure/SKILL.md +3 -0
- package/payload/server/public/assets/admin-BhEvxMrC.js +217 -0
- package/payload/server/public/assets/{data-3n20lir5.js → data-Cbo0tTS3.js} +1 -1
- package/payload/server/public/assets/{graph-ChwMpxn_.js → graph-Beucu3_J.js} +1 -1
- package/payload/server/public/assets/graph-labels-D15-eFQK.js +1 -0
- package/payload/server/public/assets/{page-DNjUtT5q.js → page-Bu8kO4jO.js} +2 -2
- package/payload/server/public/assets/{page-D3bFmqF4.js → page-C1hj89Gf.js} +1 -1
- package/payload/server/public/data.html +3 -3
- package/payload/server/public/graph.html +3 -3
- package/payload/server/public/index.html +4 -4
- package/payload/server/server-init.cjs +35 -3
- package/payload/server/server.js +33 -0
- package/payload/server/public/assets/admin-C57bDUgs.js +0 -217
- package/payload/server/public/assets/graph-labels-CUgJgIwl.js +0 -1
|
@@ -1,23 +1,28 @@
|
|
|
1
|
-
// Filesystem watcher —
|
|
1
|
+
// Filesystem watcher — disk is the source of truth (Task 258).
|
|
2
2
|
//
|
|
3
3
|
// Two directories are watched continuously:
|
|
4
4
|
//
|
|
5
5
|
// ${CLAUDE_CONFIG_DIR}/sessions/<pid>.json — written by Claude Code at PTY
|
|
6
|
-
// launch
|
|
7
|
-
//
|
|
8
|
-
//
|
|
6
|
+
// launch. Carries sessionId, bridgeSessionId, agent, status, cwd,
|
|
7
|
+
// updatedAt directly. Created at process init, refreshed on status/agent
|
|
8
|
+
// change, deleted when the process exits cleanly.
|
|
9
9
|
//
|
|
10
10
|
// ${CLAUDE_CONFIG_DIR}/projects/<slug>/<sessionId>.jsonl — written on the
|
|
11
11
|
// first operator turn; persists after process exit as the audit
|
|
12
12
|
// transcript.
|
|
13
13
|
//
|
|
14
|
-
//
|
|
15
|
-
//
|
|
16
|
-
//
|
|
17
|
-
//
|
|
14
|
+
// Row identity rule:
|
|
15
|
+
// - A top-level JSONL file at `<projectsDir>/<sid>.jsonl` is a row whose
|
|
16
|
+
// `sessionId` IS the basename. Always.
|
|
17
|
+
// - A PID file at `<sessionsDir>/<pid>.json` decorates a row: the row
|
|
18
|
+
// becomes 'live' when the PID file's `sessionId` field matches a
|
|
19
|
+
// top-level JSONL basename, OR when the PID file's `sessionId` field
|
|
20
|
+
// has no matching JSONL yet (fresh /spawn pre-first-turn).
|
|
21
|
+
// - The fs-watcher carries no path-anchored maps and no merge state
|
|
22
|
+
// machine. After Task 258, paths are derived; the watcher reads disk.
|
|
18
23
|
//
|
|
19
24
|
// Boot sequence is sync-then-arm: bootSeed() reads both directories
|
|
20
|
-
// synchronously and rebuilds the in-memory
|
|
25
|
+
// synchronously and rebuilds the in-memory cache before arm() turns on the
|
|
21
26
|
// fs.watch handlers. Without this ordering, watch events fire before the
|
|
22
27
|
// seed completes and either land before any subscriber attaches (silent
|
|
23
28
|
// drop) or race with seed inserts (double-emit). The deterministic order
|
|
@@ -28,16 +33,6 @@
|
|
|
28
33
|
// emits when the PID file is rewritten (write-temp-rename is two events
|
|
29
34
|
// from fs.watch's perspective on macOS, more on Linux), and folds the
|
|
30
35
|
// CREATE→MODIFY pair an editor-style writer can emit.
|
|
31
|
-
//
|
|
32
|
-
// Identifiers carried on every row:
|
|
33
|
-
// - sessionId (canonical, never null)
|
|
34
|
-
// - bridgeSessionId ("session_<suffix>" form, null for entrypoint=cli
|
|
35
|
-
// rows that have not yet written URL-bound state)
|
|
36
|
-
// - bridgeSuffix ("<suffix>" — derived; bridgeSessionId minus the
|
|
37
|
-
// "session_" prefix)
|
|
38
|
-
// - pid (null on archived JSONL-only rows)
|
|
39
|
-
// The store/HTTP layer resolves an inbound id against all four keys so a
|
|
40
|
-
// caller holding any one of them resolves to the same row.
|
|
41
36
|
import { existsSync, mkdirSync, openSync, closeSync, readSync, readFileSync, readdirSync, statSync, watch } from 'node:fs';
|
|
42
37
|
import { join } from 'node:path';
|
|
43
38
|
const DEBOUNCE_MS = 200;
|
|
@@ -119,39 +114,16 @@ function parsePidFile(path) {
|
|
|
119
114
|
: typeof parsed.startedAt === 'number'
|
|
120
115
|
? parsed.startedAt
|
|
121
116
|
: 0;
|
|
122
|
-
return {
|
|
123
|
-
sessionId,
|
|
124
|
-
bridgeSessionId,
|
|
125
|
-
bridgeSuffix,
|
|
126
|
-
agent,
|
|
127
|
-
cachedAgentSetting: null,
|
|
128
|
-
cwd,
|
|
129
|
-
pid,
|
|
130
|
-
jsonlPath: null,
|
|
131
|
-
pidFilePath: path,
|
|
132
|
-
state: 'live',
|
|
133
|
-
status,
|
|
134
|
-
updatedAt,
|
|
135
|
-
};
|
|
117
|
+
return { sessionId, pid, bridgeSessionId, bridgeSuffix, agent, cwd, status, updatedAt, pidFilePath: path };
|
|
136
118
|
}
|
|
137
119
|
export function createFsWatcher(opts) {
|
|
138
120
|
const { sessionsDir, projectsDir, logger } = opts;
|
|
139
|
-
//
|
|
140
|
-
//
|
|
121
|
+
// Transient row cache, keyed on sessionId. Built by bootSeed and kept
|
|
122
|
+
// in sync by fs event reconciliation. Not the source of truth — disk is.
|
|
141
123
|
const rowsBySessionId = new Map();
|
|
124
|
+
// Reverse indexes derived from row content. Rebuilt on indexRow/unindexRow.
|
|
142
125
|
const sessionIdByPid = new Map();
|
|
143
126
|
const sessionIdByBridgeSuffix = new Map();
|
|
144
|
-
const sessionIdByPidFilePath = new Map();
|
|
145
|
-
// Task 190 — jsonl-path-anchored prior-row lookup. Closes the symmetric
|
|
146
|
-
// gap to Task 186's pid-file swap: when `claude --resume` rewrites the
|
|
147
|
-
// pid file, the fork sid stays canonical, but Claude continues writing
|
|
148
|
-
// turns to `<source>.jsonl`. The admin server archives the source jsonl
|
|
149
|
-
// during resume, so the first post-resume turn re-creates the file at
|
|
150
|
-
// the projects-dir path. Without this map, that create event lands as
|
|
151
|
-
// a stray archived row. The pid-file swap branch pre-seeds this map
|
|
152
|
-
// with `jsonlPathFor(parsed.sessionId) → priorSessionIdAtPath` so the
|
|
153
|
-
// jsonl event redirects onto the fork row.
|
|
154
|
-
const sessionIdByJsonlPath = new Map();
|
|
155
127
|
const subscribers = new Set();
|
|
156
128
|
const pidWaiters = new Map();
|
|
157
129
|
const debounceTimers = new Map();
|
|
@@ -161,7 +133,7 @@ export function createFsWatcher(opts) {
|
|
|
161
133
|
let seeded = false;
|
|
162
134
|
function emit(event) {
|
|
163
135
|
logger(`[fs-watcher] event=${event.kind} kind=${event.source} sessionId=${event.sessionId} agent=${event.row?.agent ?? 'none'} ` +
|
|
164
|
-
`status=${event.row?.status ?? 'gone'} path=${event.row?.
|
|
136
|
+
`status=${event.row?.status ?? 'gone'} path=${event.row?.pidFilePath ?? 'derived'}`);
|
|
165
137
|
for (const sub of subscribers) {
|
|
166
138
|
try {
|
|
167
139
|
sub(event);
|
|
@@ -186,10 +158,6 @@ export function createFsWatcher(opts) {
|
|
|
186
158
|
sessionIdByPid.set(row.pid, row.sessionId);
|
|
187
159
|
if (row.bridgeSuffix)
|
|
188
160
|
sessionIdByBridgeSuffix.set(row.bridgeSuffix, row.sessionId);
|
|
189
|
-
if (row.pidFilePath)
|
|
190
|
-
sessionIdByPidFilePath.set(row.pidFilePath, row.sessionId);
|
|
191
|
-
if (row.jsonlPath)
|
|
192
|
-
sessionIdByJsonlPath.set(row.jsonlPath, row.sessionId);
|
|
193
161
|
}
|
|
194
162
|
function unindexRow(row) {
|
|
195
163
|
rowsBySessionId.delete(row.sessionId);
|
|
@@ -197,36 +165,90 @@ export function createFsWatcher(opts) {
|
|
|
197
165
|
sessionIdByPid.delete(row.pid);
|
|
198
166
|
if (row.bridgeSuffix)
|
|
199
167
|
sessionIdByBridgeSuffix.delete(row.bridgeSuffix);
|
|
200
|
-
if (row.pidFilePath)
|
|
201
|
-
sessionIdByPidFilePath.delete(row.pidFilePath);
|
|
202
|
-
if (row.jsonlPath)
|
|
203
|
-
sessionIdByJsonlPath.delete(row.jsonlPath);
|
|
204
168
|
}
|
|
205
169
|
function jsonlPathFor(sessionId) {
|
|
206
170
|
return join(projectsDir, `${sessionId}.jsonl`);
|
|
207
171
|
}
|
|
172
|
+
/** Find the pid file (if any) whose content names `sessionId`. Used at
|
|
173
|
+
* bootSeed to correlate jsonls with their live pid files, and on jsonl
|
|
174
|
+
* events to detect a freshly-created jsonl whose sessionId matches a
|
|
175
|
+
* pre-first-turn live row. */
|
|
176
|
+
function findPidFileForSessionId(sessionId) {
|
|
177
|
+
try {
|
|
178
|
+
for (const entry of readdirSync(sessionsDir, { withFileTypes: true })) {
|
|
179
|
+
if (!entry.isFile() || !entry.name.endsWith('.json'))
|
|
180
|
+
continue;
|
|
181
|
+
const parsed = parsePidFile(join(sessionsDir, entry.name));
|
|
182
|
+
if (parsed && parsed.sessionId === sessionId)
|
|
183
|
+
return parsed;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
catch {
|
|
187
|
+
// sessionsDir absent — fine.
|
|
188
|
+
}
|
|
189
|
+
return null;
|
|
190
|
+
}
|
|
191
|
+
function buildLiveRow(pidContent) {
|
|
192
|
+
return {
|
|
193
|
+
sessionId: pidContent.sessionId,
|
|
194
|
+
bridgeSessionId: pidContent.bridgeSessionId,
|
|
195
|
+
bridgeSuffix: pidContent.bridgeSuffix,
|
|
196
|
+
agent: pidContent.agent,
|
|
197
|
+
cachedAgentSetting: null,
|
|
198
|
+
cwd: pidContent.cwd,
|
|
199
|
+
pid: pidContent.pid,
|
|
200
|
+
pidFilePath: pidContent.pidFilePath,
|
|
201
|
+
state: 'live',
|
|
202
|
+
status: pidContent.status,
|
|
203
|
+
updatedAt: pidContent.updatedAt,
|
|
204
|
+
};
|
|
205
|
+
}
|
|
206
|
+
function buildArchivedRow(sessionId, jsonlPath) {
|
|
207
|
+
return {
|
|
208
|
+
sessionId,
|
|
209
|
+
bridgeSessionId: null,
|
|
210
|
+
bridgeSuffix: null,
|
|
211
|
+
agent: null,
|
|
212
|
+
cachedAgentSetting: readAgentSettingFromJsonl(jsonlPath),
|
|
213
|
+
cwd: null,
|
|
214
|
+
pid: null,
|
|
215
|
+
pidFilePath: null,
|
|
216
|
+
state: 'archived',
|
|
217
|
+
status: 'gone',
|
|
218
|
+
updatedAt: (() => {
|
|
219
|
+
try {
|
|
220
|
+
return statSync(jsonlPath).mtimeMs;
|
|
221
|
+
}
|
|
222
|
+
catch {
|
|
223
|
+
return 0;
|
|
224
|
+
}
|
|
225
|
+
})(),
|
|
226
|
+
};
|
|
227
|
+
}
|
|
208
228
|
/** Apply the current on-disk state for one PID-file path to the index.
|
|
209
|
-
* Reads the file if present
|
|
210
|
-
*
|
|
229
|
+
* Reads the file if present; on delete, finds the row via pid (from the
|
|
230
|
+
* filename) since we no longer carry a path-keyed index. */
|
|
211
231
|
function reconcilePidFile(path) {
|
|
212
232
|
const onDisk = existsSync(path);
|
|
213
|
-
const priorSessionId = sessionIdByPidFilePath.get(path);
|
|
214
233
|
if (!onDisk) {
|
|
234
|
+
// pid is encoded in the filename. Look up by pid → sessionId.
|
|
235
|
+
const fileName = path.slice(path.lastIndexOf('/') + 1);
|
|
236
|
+
const pidStr = fileName.replace(/\.json$/, '');
|
|
237
|
+
const pid = /^\d+$/.test(pidStr) ? Number(pidStr) : null;
|
|
238
|
+
if (pid === null)
|
|
239
|
+
return;
|
|
240
|
+
const priorSessionId = sessionIdByPid.get(pid);
|
|
215
241
|
if (!priorSessionId)
|
|
216
242
|
return;
|
|
217
243
|
const prior = rowsBySessionId.get(priorSessionId);
|
|
218
|
-
if (!prior)
|
|
219
|
-
sessionIdByPidFilePath.delete(path);
|
|
244
|
+
if (!prior)
|
|
220
245
|
return;
|
|
221
|
-
|
|
222
|
-
// PID file gone. If JSONL still exists, demote row to archived;
|
|
223
|
-
// else drop it entirely.
|
|
224
|
-
const jsonlPath = prior.jsonlPath ?? jsonlPathFor(prior.sessionId);
|
|
246
|
+
const jsonlPath = jsonlPathFor(prior.sessionId);
|
|
225
247
|
if (existsSync(jsonlPath)) {
|
|
226
248
|
// Cache agent identity from JSONL head before the PID file is
|
|
227
|
-
// forgotten. `agent` on a live row comes from the PID file
|
|
228
|
-
//
|
|
229
|
-
//
|
|
249
|
+
// forgotten. `agent` on a live row comes from the PID file; after
|
|
250
|
+
// demote it's null, so without this cache the UI would lose the
|
|
251
|
+
// specialist label.
|
|
230
252
|
const cachedAgentSetting = prior.cachedAgentSetting
|
|
231
253
|
?? readAgentSettingFromJsonl(jsonlPath);
|
|
232
254
|
const updated = {
|
|
@@ -236,7 +258,6 @@ export function createFsWatcher(opts) {
|
|
|
236
258
|
state: 'archived',
|
|
237
259
|
status: 'gone',
|
|
238
260
|
cachedAgentSetting,
|
|
239
|
-
jsonlPath,
|
|
240
261
|
};
|
|
241
262
|
unindexRow(prior);
|
|
242
263
|
indexRow(updated);
|
|
@@ -251,58 +272,31 @@ export function createFsWatcher(opts) {
|
|
|
251
272
|
const parsed = parsePidFile(path);
|
|
252
273
|
if (!parsed)
|
|
253
274
|
return;
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
//
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
if (priorSessionIdAtPath && priorSessionIdAtPath !== parsed.sessionId) {
|
|
265
|
-
const priorAtPath = rowsBySessionId.get(priorSessionIdAtPath);
|
|
266
|
-
if (priorAtPath) {
|
|
267
|
-
logger(`[fs-watcher] pid-file-sessionId-changed path=${path} prior=${priorSessionIdAtPath} next=${parsed.sessionId}`);
|
|
268
|
-
// Task 190 — pre-register the resumed source jsonl path against
|
|
269
|
-
// the prior canonical sid so the eventual jsonl create event
|
|
270
|
-
// (Claude writes turns to `<parsed.sessionId>.jsonl`) routes back
|
|
271
|
-
// to this row instead of indexing a stray archived row.
|
|
272
|
-
sessionIdByJsonlPath.set(jsonlPathFor(parsed.sessionId), priorSessionIdAtPath);
|
|
273
|
-
const merged = {
|
|
274
|
-
...priorAtPath,
|
|
275
|
-
agent: parsed.agent,
|
|
276
|
-
status: parsed.status,
|
|
277
|
-
updatedAt: parsed.updatedAt,
|
|
278
|
-
};
|
|
279
|
-
rowsBySessionId.set(priorSessionIdAtPath, merged);
|
|
280
|
-
emit({ kind: 'modify', source: 'pid', row: merged, sessionId: priorSessionIdAtPath });
|
|
281
|
-
return;
|
|
275
|
+
// If this pid was already mapped to a different sessionId (claude
|
|
276
|
+
// rewrote the file's sessionId mid-life, e.g. Task 186 resume
|
|
277
|
+
// convergence), drop the stale row first. The new content is the
|
|
278
|
+
// authoritative state.
|
|
279
|
+
const stalePriorByPid = sessionIdByPid.get(parsed.pid);
|
|
280
|
+
if (stalePriorByPid && stalePriorByPid !== parsed.sessionId) {
|
|
281
|
+
const stale = rowsBySessionId.get(stalePriorByPid);
|
|
282
|
+
if (stale) {
|
|
283
|
+
unindexRow(stale);
|
|
284
|
+
emit({ kind: 'delete', source: 'pid', row: null, sessionId: stalePriorByPid });
|
|
282
285
|
}
|
|
283
|
-
// Prior row was unindexed (e.g. by the reaper) between events. Drop
|
|
284
|
-
// the stale path mapping and fall through to the standard new-row
|
|
285
|
-
// path so the rewritten content lands as a fresh row rather than
|
|
286
|
-
// permanently leaking the swap log line.
|
|
287
|
-
logger(`[fs-watcher] pid-file-sessionId-changed path=${path} prior=${priorSessionIdAtPath} next=${parsed.sessionId} prior-row=gone`);
|
|
288
|
-
sessionIdByPidFilePath.delete(path);
|
|
289
286
|
}
|
|
290
287
|
const prior = rowsBySessionId.get(parsed.sessionId);
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
288
|
+
const merged = buildLiveRow(parsed);
|
|
289
|
+
if (prior) {
|
|
290
|
+
// Preserve cachedAgentSetting from the prior row (read once at
|
|
291
|
+
// archive transition or boot-seed; pid file rewrites don't carry it).
|
|
292
|
+
merged.cachedAgentSetting = prior.cachedAgentSetting ?? merged.cachedAgentSetting;
|
|
293
|
+
unindexRow(prior);
|
|
294
|
+
indexRow(merged);
|
|
295
|
+
emit({ kind: 'modify', source: 'pid', row: merged, sessionId: merged.sessionId });
|
|
294
296
|
return;
|
|
295
297
|
}
|
|
296
|
-
// Merge: keep jsonlPath from prior if file existed; otherwise from
|
|
297
|
-
// parsed (which already checked disk above).
|
|
298
|
-
const merged = {
|
|
299
|
-
...prior,
|
|
300
|
-
...parsed,
|
|
301
|
-
jsonlPath: parsed.jsonlPath ?? prior.jsonlPath,
|
|
302
|
-
};
|
|
303
|
-
unindexRow(prior);
|
|
304
298
|
indexRow(merged);
|
|
305
|
-
emit({ kind: '
|
|
299
|
+
emit({ kind: 'create', source: 'pid', row: merged, sessionId: merged.sessionId });
|
|
306
300
|
}
|
|
307
301
|
function reconcileJsonlFile(path) {
|
|
308
302
|
const onDisk = existsSync(path);
|
|
@@ -314,12 +308,11 @@ export function createFsWatcher(opts) {
|
|
|
314
308
|
if (!onDisk) {
|
|
315
309
|
if (!prior)
|
|
316
310
|
return;
|
|
317
|
-
// JSONL gone. If PID file still present, row stays live
|
|
318
|
-
//
|
|
311
|
+
// JSONL gone. If PID file still present, row stays live (transient
|
|
312
|
+
// state — the live PTY may write a new jsonl on the next turn);
|
|
313
|
+
// else drop the row entirely.
|
|
319
314
|
if (prior.pidFilePath && existsSync(prior.pidFilePath)) {
|
|
320
|
-
|
|
321
|
-
rowsBySessionId.set(updated.sessionId, updated);
|
|
322
|
-
emit({ kind: 'delete', source: 'jsonl', row: updated, sessionId });
|
|
315
|
+
emit({ kind: 'delete', source: 'jsonl', row: prior, sessionId });
|
|
323
316
|
return;
|
|
324
317
|
}
|
|
325
318
|
unindexRow(prior);
|
|
@@ -327,62 +320,26 @@ export function createFsWatcher(opts) {
|
|
|
327
320
|
return;
|
|
328
321
|
}
|
|
329
322
|
if (prior) {
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
indexRow(updated);
|
|
337
|
-
emit({ kind: 'modify', source: 'jsonl', row: updated, sessionId });
|
|
323
|
+
// Row already exists at this sessionId. If the row was live
|
|
324
|
+
// (pid-file-derived), the jsonl appearing is the first-turn flush;
|
|
325
|
+
// emit a modify so subscribers re-render. If the row was archived,
|
|
326
|
+
// the jsonl is the same file we already knew about; no-op except
|
|
327
|
+
// for the modify emission (subscribers may want to re-poll the tail).
|
|
328
|
+
emit({ kind: prior.state === 'archived' ? 'modify' : 'modify', source: 'jsonl', row: prior, sessionId });
|
|
338
329
|
return;
|
|
339
330
|
}
|
|
340
|
-
//
|
|
341
|
-
// the
|
|
342
|
-
//
|
|
343
|
-
//
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
logger(`[fs-watcher] jsonl-path-sessionId-changed path=${path} prior=${priorCanonicalSid} next=${sessionId}`);
|
|
351
|
-
const updated = { ...priorCanonical, jsonlPath: path };
|
|
352
|
-
unindexRow(priorCanonical);
|
|
353
|
-
indexRow(updated);
|
|
354
|
-
emit({ kind: 'modify', source: 'jsonl', row: updated, sessionId: updated.sessionId });
|
|
355
|
-
return;
|
|
356
|
-
}
|
|
357
|
-
// Prior canonical row vanished between the swap pre-seed and the
|
|
358
|
-
// jsonl event (e.g. pid file deleted, reaper). Drop the stale map
|
|
359
|
-
// entry and fall through to the standard archived-row path so the
|
|
360
|
-
// file lands as an ordinary archived row at the basename sid.
|
|
361
|
-
logger(`[fs-watcher] jsonl-path-sessionId-changed path=${path} prior=${priorCanonicalSid} next=${sessionId} prior-row=gone`);
|
|
362
|
-
sessionIdByJsonlPath.delete(path);
|
|
331
|
+
// Fresh jsonl at this sessionId. If a pid file already exists with this
|
|
332
|
+
// sessionId, the row is live (claude wrote its first turn before the
|
|
333
|
+
// pid-file create event was observed — rare but possible). Otherwise
|
|
334
|
+
// the row is archived (jsonl with no live PTY behind it).
|
|
335
|
+
const matchingPid = findPidFileForSessionId(sessionId);
|
|
336
|
+
if (matchingPid) {
|
|
337
|
+
const row = buildLiveRow(matchingPid);
|
|
338
|
+
indexRow(row);
|
|
339
|
+
emit({ kind: 'create', source: 'jsonl', row, sessionId });
|
|
340
|
+
return;
|
|
363
341
|
}
|
|
364
|
-
|
|
365
|
-
const row = {
|
|
366
|
-
sessionId,
|
|
367
|
-
bridgeSessionId: null,
|
|
368
|
-
bridgeSuffix: null,
|
|
369
|
-
agent: null,
|
|
370
|
-
cachedAgentSetting: readAgentSettingFromJsonl(path),
|
|
371
|
-
cwd: null,
|
|
372
|
-
pid: null,
|
|
373
|
-
jsonlPath: path,
|
|
374
|
-
pidFilePath: null,
|
|
375
|
-
state: 'archived',
|
|
376
|
-
status: 'gone',
|
|
377
|
-
updatedAt: (() => {
|
|
378
|
-
try {
|
|
379
|
-
return statSync(path).mtimeMs;
|
|
380
|
-
}
|
|
381
|
-
catch {
|
|
382
|
-
return 0;
|
|
383
|
-
}
|
|
384
|
-
})(),
|
|
385
|
-
};
|
|
342
|
+
const row = buildArchivedRow(sessionId, path);
|
|
386
343
|
indexRow(row);
|
|
387
344
|
emit({ kind: 'create', source: 'jsonl', row, sessionId });
|
|
388
345
|
}
|
|
@@ -404,68 +361,51 @@ export function createFsWatcher(opts) {
|
|
|
404
361
|
function bootSeed() {
|
|
405
362
|
if (seeded)
|
|
406
363
|
return;
|
|
407
|
-
|
|
364
|
+
// Walk the projects dir first so jsonl rows exist as the canonical key
|
|
365
|
+
// surface. Then walk the sessions dir; each pid file's sessionId either
|
|
366
|
+
// matches an already-seeded jsonl row (promote to live) or has no jsonl
|
|
367
|
+
// yet (a pre-first-turn live row, no transcript).
|
|
408
368
|
let jsonlCount = 0;
|
|
369
|
+
let pidCount = 0;
|
|
409
370
|
try {
|
|
410
|
-
for (const entry of readdirSync(
|
|
411
|
-
if (!entry.isFile() || !entry.name.endsWith('.
|
|
371
|
+
for (const entry of readdirSync(projectsDir, { withFileTypes: true })) {
|
|
372
|
+
if (!entry.isFile() || !entry.name.endsWith('.jsonl'))
|
|
412
373
|
continue;
|
|
413
|
-
const
|
|
414
|
-
|
|
415
|
-
if (!row)
|
|
374
|
+
const sessionId = entry.name.slice(0, -'.jsonl'.length);
|
|
375
|
+
if (!sessionId)
|
|
416
376
|
continue;
|
|
417
|
-
const jsonlPath =
|
|
418
|
-
if (
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
377
|
+
const jsonlPath = join(projectsDir, entry.name);
|
|
378
|
+
if (!rowsBySessionId.has(sessionId)) {
|
|
379
|
+
indexRow(buildArchivedRow(sessionId, jsonlPath));
|
|
380
|
+
}
|
|
381
|
+
jsonlCount += 1;
|
|
422
382
|
}
|
|
423
383
|
}
|
|
424
384
|
catch {
|
|
425
|
-
//
|
|
385
|
+
// projectsDir absent on first boot — Claude Code creates it on first
|
|
386
|
+
// transcript write. Watcher's mkdirSync at arm() avoids fs.watch ENOENT.
|
|
426
387
|
}
|
|
427
388
|
try {
|
|
428
|
-
for (const entry of readdirSync(
|
|
429
|
-
if (!entry.isFile() || !entry.name.endsWith('.
|
|
389
|
+
for (const entry of readdirSync(sessionsDir, { withFileTypes: true })) {
|
|
390
|
+
if (!entry.isFile() || !entry.name.endsWith('.json'))
|
|
430
391
|
continue;
|
|
431
|
-
const
|
|
432
|
-
const
|
|
433
|
-
|
|
392
|
+
const path = join(sessionsDir, entry.name);
|
|
393
|
+
const parsed = parsePidFile(path);
|
|
394
|
+
if (!parsed)
|
|
395
|
+
continue;
|
|
396
|
+
const prior = rowsBySessionId.get(parsed.sessionId);
|
|
397
|
+
const row = buildLiveRow(parsed);
|
|
434
398
|
if (prior) {
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
}
|
|
439
|
-
else {
|
|
440
|
-
const row = {
|
|
441
|
-
sessionId,
|
|
442
|
-
bridgeSessionId: null,
|
|
443
|
-
bridgeSuffix: null,
|
|
444
|
-
agent: null,
|
|
445
|
-
cachedAgentSetting: readAgentSettingFromJsonl(path),
|
|
446
|
-
cwd: null,
|
|
447
|
-
pid: null,
|
|
448
|
-
jsonlPath: path,
|
|
449
|
-
pidFilePath: null,
|
|
450
|
-
state: 'archived',
|
|
451
|
-
status: 'gone',
|
|
452
|
-
updatedAt: (() => {
|
|
453
|
-
try {
|
|
454
|
-
return statSync(path).mtimeMs;
|
|
455
|
-
}
|
|
456
|
-
catch {
|
|
457
|
-
return 0;
|
|
458
|
-
}
|
|
459
|
-
})(),
|
|
460
|
-
};
|
|
461
|
-
indexRow(row);
|
|
399
|
+
// Preserve cached agent setting we already read from the jsonl head.
|
|
400
|
+
row.cachedAgentSetting = prior.cachedAgentSetting ?? row.cachedAgentSetting;
|
|
401
|
+
unindexRow(prior);
|
|
462
402
|
}
|
|
463
|
-
|
|
403
|
+
indexRow(row);
|
|
404
|
+
pidCount += 1;
|
|
464
405
|
}
|
|
465
406
|
}
|
|
466
407
|
catch {
|
|
467
|
-
//
|
|
468
|
-
// transcript write. Watcher's mkdirSync at arm() avoids fs.watch ENOENT.
|
|
408
|
+
// sessionsDir absent — fine. Watcher creates it via mkdir at arm time.
|
|
469
409
|
}
|
|
470
410
|
seeded = true;
|
|
471
411
|
logger(`[fs-watcher] boot-seed sessions-dir=${pidCount} projects-dir=${jsonlCount} rows=${rowsBySessionId.size}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fs-watcher.js","sourceRoot":"","sources":["../src/fs-watcher.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fs-watcher.js","sourceRoot":"","sources":["../src/fs-watcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ import { type SpawnDeps } from './pty-spawner.js';
|
|
|
4
4
|
import type { FsWatcher } from './fs-watcher.js';
|
|
5
5
|
import type { RateLimiter } from './spawn-rate-limiter.js';
|
|
6
6
|
import type { AuditRegistry } from './public-tool-audit.js';
|
|
7
|
+
import { type UserTitleStore } from './user-title-store.js';
|
|
7
8
|
/** Test-only — clear the dedup cache between vitest cases so module state
|
|
8
9
|
* does not leak across describe blocks. */
|
|
9
10
|
export declare function __resetResumeDedupCacheForTests(): void;
|
|
@@ -14,6 +15,9 @@ export interface HttpDeps extends Omit<SpawnDeps, 'store' | 'onSessionReady' | '
|
|
|
14
15
|
jsonlReadMaxBytes: number;
|
|
15
16
|
publicSpawnLimiter: RateLimiter;
|
|
16
17
|
publicToolAudit: AuditRegistry;
|
|
18
|
+
/** Task 253 — operator-stamped title override store. Reads merge into
|
|
19
|
+
* every displayName resolution site; the /:sessionId/rename route writes. */
|
|
20
|
+
userTitleStore: UserTitleStore;
|
|
17
21
|
}
|
|
18
22
|
/** Task 189 — Hono instance with the test-only fan-out trigger attached.
|
|
19
23
|
* The vitest fixture for the `/events` url-capture re-emit drives this
|
|
@@ -21,6 +25,11 @@ export interface HttpDeps extends Omit<SpawnDeps, 'store' | 'onSessionReady' | '
|
|
|
21
25
|
* through the SpawnDeps `onUrlCaptured` callback wired below. */
|
|
22
26
|
export type HttpApp = Hono & {
|
|
23
27
|
__notifyUrlCapturedForTests(sessionId: string): void;
|
|
28
|
+
/** Task 253 — drive a synthetic rename re-emit without going through
|
|
29
|
+
* the POST route. Production callers route through `notifyRename` in
|
|
30
|
+
* the rename handler; this seam lets vitest exercise the /events
|
|
31
|
+
* fan-out without a real HTTP request. */
|
|
32
|
+
__notifyRenameForTests(sessionId: string): void;
|
|
24
33
|
};
|
|
25
34
|
export declare function buildHttpApp(deps: HttpDeps): HttpApp;
|
|
26
35
|
//# sourceMappingURL=http-server.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-server.d.ts","sourceRoot":"","sources":["../src/http-server.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAI3B,OAAO,KAAK,EAAE,YAAY,EAAiB,MAAM,oBAAoB,CAAA;AACrE,OAAO,EAA0E,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAIzH,OAAO,KAAK,EAAE,SAAS,EAAc,MAAM,iBAAiB,CAAA;AAE5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"http-server.d.ts","sourceRoot":"","sources":["../src/http-server.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAI3B,OAAO,KAAK,EAAE,YAAY,EAAiB,MAAM,oBAAoB,CAAA;AACrE,OAAO,EAA0E,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAIzH,OAAO,KAAK,EAAE,SAAS,EAAc,MAAM,iBAAiB,CAAA;AAE5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAC3D,OAAO,EAAqB,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAoB9E;4CAC4C;AAC5C,wBAAgB,+BAA+B,IAAI,IAAI,CAEtD;AA0ED,MAAM,WAAW,QAAS,SAAQ,IAAI,CAAC,SAAS,EAAE,OAAO,GAAG,gBAAgB,GAAG,SAAS,CAAC;IACvF,KAAK,EAAE,YAAY,CAAA;IACnB,OAAO,EAAE,SAAS,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,iBAAiB,EAAE,MAAM,CAAA;IACzB,kBAAkB,EAAE,WAAW,CAAA;IAC/B,eAAe,EAAE,aAAa,CAAA;IAC9B;kFAC8E;IAC9E,cAAc,EAAE,cAAc,CAAA;CAC/B;AAkID;;;kEAGkE;AAClE,MAAM,MAAM,OAAO,GAAG,IAAI,GAAG;IAC3B,2BAA2B,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACpD;;;+CAG2C;IAC3C,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CAChD,CAAA;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CA6kCpD"}
|