chat-recall 0.7.16 → 0.7.18

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/mcp.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ export type ArchiveSource = {
2
+ kind: 'memory';
3
+ files: Array<{
4
+ name: string;
5
+ text: string;
6
+ }>;
7
+ } | {
8
+ kind: 'disk';
9
+ files: Array<{
10
+ name: string;
11
+ path: string;
12
+ }>;
13
+ };
14
+ export interface ArchiveFile {
15
+ path: string;
16
+ /** Bytes of the gzipped file. */
17
+ gzSize: number;
18
+ /** Bytes of the container JSON before gzip, the unit the server's shrink rule uses. */
19
+ size: number;
20
+ }
21
+ /**
22
+ * Write the container `{ v: 1, tool, mtime, files: [{ name, text }] }` gzipped
23
+ * to a temp file, redacted the way redactContainer redacts the inline archive:
24
+ * a .jsonl file line by line through redactJsonLine, which also reaches a
25
+ * secret inside a JSON-escaped string, and any other file as one text. A JSONL
26
+ * file streams, because each record and each secret in it is on one line.
27
+ */
28
+ export declare function writeArchiveFile(source: ArchiveSource, meta: {
29
+ tool: string;
30
+ mtime: number;
31
+ }, redact: (line: string) => string, dir?: string): Promise<ArchiveFile>;
32
+ export type UploadOutcome = 'stored' | 'unchanged' | 'shrink-protected' | 'unsupported';
33
+ /**
34
+ * Upload `file` as the raw archive of `sessionId`. 'unsupported' means the
35
+ * server has no object storage, which the caller treats as "keep the inline
36
+ * behaviour". Any other failure throws.
37
+ */
38
+ export declare function uploadArchiveFile(base: string, token: string | undefined, args: {
39
+ sessionId: string;
40
+ tool: string;
41
+ mtime: number;
42
+ projectId?: string;
43
+ projectPath?: string;
44
+ file: ArchiveFile;
45
+ }): Promise<UploadOutcome>;
46
+ //# sourceMappingURL=raw-archive-parts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"raw-archive-parts.d.ts","sourceRoot":"","sources":["../src/raw-archive-parts.ts"],"names":[],"mappings":"AAqBA,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,GAChE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC;AAEnE,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,iCAAiC;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,uFAAuF;IACvF,IAAI,EAAE,MAAM,CAAC;CACd;AAgCD;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EACrC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,EAChC,GAAG,SAAW,GACb,OAAO,CAAC,WAAW,CAAC,CAsCtB;AAED,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,WAAW,GAAG,kBAAkB,GAAG,aAAa,CAAC;AA0BxF;;;;GAIG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,IAAI,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,WAAW,CAAA;CAAE,GACpH,OAAO,CAAC,aAAa,CAAC,CAyCxB"}
@@ -0,0 +1,175 @@
1
+ /**
2
+ * A raw archive too large to send inline, built as a stream into a temp file
3
+ * and uploaded in parts straight to object storage.
4
+ *
5
+ * The inline archive goes in the sync request, so it is dropped above 8 MB
6
+ * gzipped, and a session over the full-build ceiling never builds one: the
7
+ * export would hold the whole transcript in memory. Here the archive is written
8
+ * line by line (each line redacted, then JSON-escaped) through gzip into a file,
9
+ * so memory holds one line at a time. The server hands back presigned part
10
+ * URLs (packages/server/src/services/raw-upload.ts), and the parts go to S3
11
+ * without passing through the server.
12
+ */
13
+ import { createReadStream, createWriteStream, openSync, readSync, closeSync, rmSync, statSync } from 'node:fs';
14
+ import { tmpdir } from 'node:os';
15
+ import { join } from 'node:path';
16
+ import { randomBytes } from 'node:crypto';
17
+ import { createGzip } from 'node:zlib';
18
+ import { once } from 'node:events';
19
+ import { readFileSync } from 'node:fs';
20
+ import { redactJsonLine } from '@chat-recall/engine/transcript/index.js';
21
+ /** A JSON string literal's body, without its quotes. */
22
+ const escapeJson = (s) => JSON.stringify(s).slice(1, -1);
23
+ /** Lines of a file, each with its newline; the last one without, when the file has none. */
24
+ async function* fileLines(path) {
25
+ let rest = '';
26
+ const decoder = new TextDecoder('utf-8');
27
+ for await (const chunk of createReadStream(path, { highWaterMark: 1024 * 1024 })) {
28
+ rest += decoder.decode(chunk, { stream: true });
29
+ let nl = rest.indexOf('\n');
30
+ while (nl >= 0) {
31
+ yield rest.slice(0, nl + 1);
32
+ rest = rest.slice(nl + 1);
33
+ nl = rest.indexOf('\n');
34
+ }
35
+ }
36
+ rest += decoder.decode();
37
+ if (rest)
38
+ yield rest;
39
+ }
40
+ function* textLines(text) {
41
+ let at = 0;
42
+ while (at < text.length) {
43
+ const nl = text.indexOf('\n', at);
44
+ const end = nl < 0 ? text.length : nl + 1;
45
+ yield text.slice(at, end);
46
+ at = end;
47
+ }
48
+ }
49
+ /**
50
+ * Write the container `{ v: 1, tool, mtime, files: [{ name, text }] }` gzipped
51
+ * to a temp file, redacted the way redactContainer redacts the inline archive:
52
+ * a .jsonl file line by line through redactJsonLine, which also reaches a
53
+ * secret inside a JSON-escaped string, and any other file as one text. A JSONL
54
+ * file streams, because each record and each secret in it is on one line.
55
+ */
56
+ export async function writeArchiveFile(source, meta, redact, dir = tmpdir()) {
57
+ const path = join(dir, `cr-archive-${randomBytes(8).toString('hex')}.json.gz`);
58
+ const gzip = createGzip({ level: 6 });
59
+ const out = createWriteStream(path, { mode: 0o600 });
60
+ const done = once(out, 'finish');
61
+ gzip.pipe(out);
62
+ let size = 0;
63
+ const write = async (s) => {
64
+ size += Buffer.byteLength(s);
65
+ if (!gzip.write(s))
66
+ await once(gzip, 'drain');
67
+ };
68
+ try {
69
+ await write(`{"v":1,"tool":${JSON.stringify(meta.tool)},"mtime":${Math.floor(meta.mtime)},"files":[`);
70
+ for (const [i, f] of source.files.entries()) {
71
+ await write(`${i ? ',' : ''}{"name":${JSON.stringify(f.name)},"text":"`);
72
+ const whole = () => (source.kind === 'memory' ? f.text : readFileSync(f.path, 'utf-8'));
73
+ if (!f.name.endsWith('.jsonl')) {
74
+ await write(escapeJson(redact(whole())));
75
+ }
76
+ else {
77
+ const lines = source.kind === 'memory' ? textLines(f.text) : fileLines(f.path);
78
+ for await (const line of lines) {
79
+ const nl = line.endsWith('\n');
80
+ const body = nl ? line.slice(0, -1) : line;
81
+ await write(escapeJson((body ? redactJsonLine(body, redact) : body) + (nl ? '\n' : '')));
82
+ }
83
+ }
84
+ await write('"}');
85
+ }
86
+ await write(']}');
87
+ gzip.end();
88
+ await done;
89
+ }
90
+ catch (err) {
91
+ gzip.destroy();
92
+ out.destroy();
93
+ rmSync(path, { force: true });
94
+ throw err;
95
+ }
96
+ return { path, gzSize: statSync(path).size, size };
97
+ }
98
+ const PART_TIMEOUT_MS = 120_000;
99
+ const PART_ATTEMPTS = 3;
100
+ async function putPart(url, body) {
101
+ let last;
102
+ for (let attempt = 1; attempt <= PART_ATTEMPTS; attempt++) {
103
+ const ac = new AbortController();
104
+ const timer = setTimeout(() => ac.abort(), PART_TIMEOUT_MS);
105
+ try {
106
+ const r = await fetch(url, { method: 'PUT', body, signal: ac.signal });
107
+ const etag = r.headers.get('etag');
108
+ if (r.ok && etag)
109
+ return etag;
110
+ last = new Error(`part PUT answered ${r.status}`);
111
+ // A refused signature or an expired URL does not improve on a retry.
112
+ if (r.status === 403 || r.status === 404)
113
+ break;
114
+ }
115
+ catch (err) {
116
+ last = err;
117
+ }
118
+ finally {
119
+ clearTimeout(timer);
120
+ }
121
+ }
122
+ throw last instanceof Error ? last : new Error(String(last));
123
+ }
124
+ /**
125
+ * Upload `file` as the raw archive of `sessionId`. 'unsupported' means the
126
+ * server has no object storage, which the caller treats as "keep the inline
127
+ * behaviour". Any other failure throws.
128
+ */
129
+ export async function uploadArchiveFile(base, token, args) {
130
+ const headers = { 'content-type': 'application/json' };
131
+ if (token)
132
+ headers.authorization = `Bearer ${token}`;
133
+ const post = async (path, body) => {
134
+ const r = await fetch(`${base}/api/sync/raw-upload/${path}`, { method: 'POST', headers, body: JSON.stringify(body) });
135
+ const json = await r.json().catch(() => ({}));
136
+ return { status: r.status, json };
137
+ };
138
+ const start = await post('start', {
139
+ session_id: args.sessionId, tool: args.tool, mtime: Math.floor(args.mtime),
140
+ size: args.file.size, gz_size: args.file.gzSize,
141
+ project_id: args.projectId, project_path: args.projectPath,
142
+ });
143
+ if (start.status === 501 || start.status === 404)
144
+ return 'unsupported';
145
+ if (start.status !== 200)
146
+ throw new Error(`raw upload start answered ${start.status}: ${start.json.error ?? ''}`);
147
+ if (start.json.result === 'unchanged' || start.json.result === 'shrink-protected')
148
+ return start.json.result;
149
+ const urls = start.json.urls;
150
+ const partBytes = Number(start.json.part_bytes);
151
+ const parts = [];
152
+ const fd = openSync(args.file.path, 'r');
153
+ try {
154
+ for (const [i, url] of urls.entries()) {
155
+ const len = Math.min(partBytes, args.file.gzSize - i * partBytes);
156
+ const buf = Buffer.allocUnsafe(len);
157
+ let got = 0;
158
+ while (got < len) {
159
+ const n = readSync(fd, buf, got, len - got, i * partBytes + got);
160
+ if (n <= 0)
161
+ break;
162
+ got += n;
163
+ }
164
+ parts.push({ part_number: i + 1, etag: await putPart(url, buf.subarray(0, got)) });
165
+ }
166
+ }
167
+ finally {
168
+ closeSync(fd);
169
+ }
170
+ const done = await post('complete', { session_id: args.sessionId, upload_id: start.json.upload_id, parts });
171
+ if (done.status !== 200)
172
+ throw new Error(`raw upload complete answered ${done.status}: ${done.json.error ?? ''}`);
173
+ return done.json.result;
174
+ }
175
+ //# sourceMappingURL=raw-archive-parts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"raw-archive-parts.js","sourceRoot":"","sources":["../src/raw-archive-parts.ts"],"names":[],"mappings":"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"}
@@ -66,4 +66,27 @@ export declare function bridge(input: Readable, output: Writable, sock: Duplex,
66
66
  probe?: ParentProbe;
67
67
  parentPollMs?: number;
68
68
  }): void;
69
+ /** The error a client gets for a call that was running when its daemon went away. */
70
+ export declare const DAEMON_RESTART_ERROR = "chat-recall restarted while this call ran. Call the tool again.";
71
+ /**
72
+ * Like `bridge`, but the session survives its daemon.
73
+ *
74
+ * A daemon goes away when it is upgraded or killed. `bridge` then ended the
75
+ * relay, and the AI tool showed the server as disconnected until a person
76
+ * reconnected it by hand. Here the relay connects again (`reconnect` starts a
77
+ * daemon when none answers), replays the client's `initialize` request and
78
+ * `notifications/initialized`, drops the new daemon's reply to that replay,
79
+ * and goes on.
80
+ *
81
+ * A request that had no reply when the daemon went away gets a JSON-RPC error
82
+ * that says to call again. Sending it again could run a write twice.
83
+ *
84
+ * The session is over when the client's input finishes, when the parent is
85
+ * gone, when output fails, or when no daemon can be reached again.
86
+ */
87
+ export declare function resilientBridge(input: Readable, output: Writable, first: Duplex, reconnect: () => Promise<Duplex | null>, exit: (code: number) => void, opts?: {
88
+ drainMs?: number;
89
+ probe?: ParentProbe;
90
+ parentPollMs?: number;
91
+ }): void;
69
92
  //# sourceMappingURL=relay-lifecycle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"relay-lifecycle.d.ts","sourceRoot":"","sources":["../src/relay-lifecycle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE9D,mFAAmF;AACnF,eAAO,MAAM,cAAc,OAAQ,CAAC;AAEpC,MAAM,WAAW,WAAW;IAC1B,2EAA2E;IAC3E,IAAI,IAAI,MAAM,CAAC;IACf,8CAA8C;IAC9C,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CAC7B;AAED,8EAA8E;AAC9E,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAQ7C;AAED,eAAO,MAAM,YAAY,EAAE,WAG1B,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAG5E;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,MAAM,IAAI,EAClB,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,WAAW,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAO,GACtD,MAAM,IAAI,CAWZ;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,IAAI,GAAG,IAAI,CAUxE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,MAAM,CACpB,KAAK,EAAE,QAAQ,EACf,MAAM,EAAE,QAAQ,EAChB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EAC5B,IAAI,GAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,WAAW,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAO,GAC1E,IAAI,CAoCN"}
1
+ {"version":3,"file":"relay-lifecycle.d.ts","sourceRoot":"","sources":["../src/relay-lifecycle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE9D,mFAAmF;AACnF,eAAO,MAAM,cAAc,OAAQ,CAAC;AAEpC,MAAM,WAAW,WAAW;IAC1B,2EAA2E;IAC3E,IAAI,IAAI,MAAM,CAAC;IACf,8CAA8C;IAC9C,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CAC7B;AAED,8EAA8E;AAC9E,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAQ7C;AAED,eAAO,MAAM,YAAY,EAAE,WAG1B,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAG5E;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,MAAM,IAAI,EAClB,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,WAAW,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAO,GACtD,MAAM,IAAI,CAWZ;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,IAAI,GAAG,IAAI,CAUxE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,MAAM,CACpB,KAAK,EAAE,QAAQ,EACf,MAAM,EAAE,QAAQ,EAChB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EAC5B,IAAI,GAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,WAAW,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAO,GAC1E,IAAI,CAoCN;AAgCD,qFAAqF;AACrF,eAAO,MAAM,oBAAoB,oEAAoE,CAAC;AAEtG;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,QAAQ,EACf,MAAM,EAAE,QAAQ,EAChB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,EACvC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EAC5B,IAAI,GAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,WAAW,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAO,GAC1E,IAAI,CA4FN"}
@@ -114,4 +114,177 @@ export function bridge(input, output, sock, exit, opts = {}) {
114
114
  });
115
115
  stopParentWatch = watchParent(finish, { probe: opts.probe, intervalMs: opts.parentPollMs });
116
116
  }
117
+ /** JSON-RPC id as a map key: ids may be numbers or strings, and 1 is not "1". */
118
+ const idKey = (id) => JSON.stringify(id);
119
+ function peek(line) {
120
+ try {
121
+ const m = JSON.parse(line);
122
+ return m && typeof m === 'object' ? m : null;
123
+ }
124
+ catch {
125
+ return null;
126
+ }
127
+ }
128
+ /** Calls up to newline-delimited lines; the remainder waits for the next chunk. */
129
+ function lineSplitter(onLine) {
130
+ const decoder = new TextDecoder('utf-8');
131
+ let rest = '';
132
+ return (chunk) => {
133
+ rest += typeof chunk === 'string' ? chunk : decoder.decode(chunk, { stream: true });
134
+ let nl = rest.indexOf('\n');
135
+ while (nl >= 0) {
136
+ const line = rest.slice(0, nl);
137
+ rest = rest.slice(nl + 1);
138
+ if (line.trim())
139
+ onLine(line);
140
+ nl = rest.indexOf('\n');
141
+ }
142
+ };
143
+ }
144
+ /** The error a client gets for a call that was running when its daemon went away. */
145
+ export const DAEMON_RESTART_ERROR = 'chat-recall restarted while this call ran. Call the tool again.';
146
+ /**
147
+ * Like `bridge`, but the session survives its daemon.
148
+ *
149
+ * A daemon goes away when it is upgraded or killed. `bridge` then ended the
150
+ * relay, and the AI tool showed the server as disconnected until a person
151
+ * reconnected it by hand. Here the relay connects again (`reconnect` starts a
152
+ * daemon when none answers), replays the client's `initialize` request and
153
+ * `notifications/initialized`, drops the new daemon's reply to that replay,
154
+ * and goes on.
155
+ *
156
+ * A request that had no reply when the daemon went away gets a JSON-RPC error
157
+ * that says to call again. Sending it again could run a write twice.
158
+ *
159
+ * The session is over when the client's input finishes, when the parent is
160
+ * gone, when output fails, or when no daemon can be reached again.
161
+ */
162
+ export function resilientBridge(input, output, first, reconnect, exit, opts = {}) {
163
+ let done = false;
164
+ let inputEnded = false;
165
+ let sock = null;
166
+ /** Client lines held while no daemon is ready for them. */
167
+ let queue = [];
168
+ /** The replayed `initialize` request whose reply the client must not see. */
169
+ let replayId = null;
170
+ let initLine = null;
171
+ let initializedLine = null;
172
+ const pending = new Set();
173
+ let stopParentWatch = () => { };
174
+ const finish = (code = 0) => {
175
+ if (done)
176
+ return;
177
+ done = true;
178
+ stopParentWatch();
179
+ try {
180
+ sock?.destroy();
181
+ }
182
+ catch { /* already gone */ }
183
+ exit(code);
184
+ };
185
+ const toClient = (line) => {
186
+ try {
187
+ output.write(line + '\n');
188
+ }
189
+ catch {
190
+ finish();
191
+ }
192
+ };
193
+ const fromClient = (line) => {
194
+ const m = peek(line);
195
+ if (m?.method === 'initialize')
196
+ initLine = line;
197
+ else if (m?.method === 'notifications/initialized')
198
+ initializedLine = line;
199
+ if (m && m.id !== undefined && typeof m.method === 'string')
200
+ pending.add(idKey(m.id));
201
+ if (sock && replayId === null)
202
+ sock.write(line + '\n');
203
+ else
204
+ queue.push(line);
205
+ };
206
+ const attach = (s) => {
207
+ sock = s;
208
+ const onLine = lineSplitter((line) => {
209
+ if (s !== sock)
210
+ return;
211
+ const m = peek(line);
212
+ const isReply = m && m.id !== undefined && m.method === undefined;
213
+ if (isReply && replayId !== null && idKey(m.id) === replayId) {
214
+ replayId = null;
215
+ if (initializedLine)
216
+ s.write(initializedLine + '\n');
217
+ const held = queue;
218
+ queue = [];
219
+ for (const l of held)
220
+ s.write(l + '\n');
221
+ return;
222
+ }
223
+ if (isReply)
224
+ pending.delete(idKey(m.id));
225
+ toClient(line);
226
+ });
227
+ s.on('data', onLine);
228
+ s.on('error', () => { });
229
+ s.on('close', () => { if (s === sock)
230
+ void lost(); });
231
+ };
232
+ const lost = async () => {
233
+ sock = null;
234
+ if (done)
235
+ return;
236
+ if (inputEnded) {
237
+ finish();
238
+ return;
239
+ }
240
+ for (const key of pending) {
241
+ toClient(JSON.stringify({ jsonrpc: '2.0', id: JSON.parse(key), error: { code: -32000, message: DAEMON_RESTART_ERROR } }));
242
+ }
243
+ pending.clear();
244
+ const next = await reconnect().catch(() => null);
245
+ if (done) {
246
+ try {
247
+ next?.destroy();
248
+ }
249
+ catch { /* gone */ }
250
+ return;
251
+ }
252
+ if (!next) {
253
+ finish(1);
254
+ return;
255
+ }
256
+ if (initLine) {
257
+ replayId = idKey(peek(initLine)?.id);
258
+ attach(next);
259
+ next.write(initLine + '\n');
260
+ }
261
+ else {
262
+ attach(next);
263
+ const held = queue;
264
+ queue = [];
265
+ for (const l of held)
266
+ next.write(l + '\n');
267
+ }
268
+ };
269
+ attach(first);
270
+ input.on('data', lineSplitter(fromClient));
271
+ output.on('error', () => finish());
272
+ onInputFinished(input, () => {
273
+ inputEnded = true;
274
+ if (!sock) {
275
+ finish();
276
+ return;
277
+ }
278
+ try {
279
+ sock.end();
280
+ }
281
+ catch {
282
+ finish();
283
+ return;
284
+ }
285
+ const t = setTimeout(() => finish(), opts.drainMs ?? 2_000);
286
+ t.unref?.();
287
+ });
288
+ stopParentWatch = watchParent(() => finish(), { probe: opts.probe, intervalMs: opts.parentPollMs });
289
+ }
117
290
  //# sourceMappingURL=relay-lifecycle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"relay-lifecycle.js","sourceRoot":"","sources":["../src/relay-lifecycle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relay-lifecycle.js","sourceRoot":"","sources":["../src/relay-lifecycle.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"repair.d.ts","sourceRoot":"","sources":["../src/repair.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAmDH,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,UAAU,GAAG,cAAc,GAAG,cAAc,GAAG,YAAY,GAAG,OAAO,CAAC;IAC9E,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,kFAAkF;IAClF,MAAM,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjF,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,wBAAsB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,OAAO,CAAC,YAAY,CAAC,CA2I3J;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAOjK;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,YAAY,EAAE,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;;GASG;AACH,wBAAsB,SAAS,CAAC,IAAI,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,OAAO,CAAC,eAAe,CAAC,CAsCvK"}
1
+ {"version":3,"file":"repair.d.ts","sourceRoot":"","sources":["../src/repair.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAmDH,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,UAAU,GAAG,cAAc,GAAG,cAAc,GAAG,YAAY,GAAG,OAAO,CAAC;IAC9E,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,kFAAkF;IAClF,MAAM,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjF,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,wBAAsB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,OAAO,CAAC,YAAY,CAAC,CA2I3J;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAOjK;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,YAAY,EAAE,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;;GASG;AACH,wBAAsB,SAAS,CAAC,IAAI,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,OAAO,CAAC,eAAe,CAAC,CA6CvK"}
package/dist/repair.js CHANGED
@@ -267,13 +267,21 @@ export async function repairAll(opts = {}) {
267
267
  if (opts.verbose && scanned % 50 === 0)
268
268
  log(`checked ${scanned}/${ids.length}…`);
269
269
  const arch = await fetchJson(`${primary.url}/api/conversations/${id}/raw-archive?count=1`, primary.token);
270
- const archiveMsgs = typeof arch?.messages === 'number' ? arch.messages : 0;
271
- if (archiveMsgs < minMessages)
272
- continue; // no/thin archive — nothing to recover
273
- const meta = await fetchJson(`${primary.url}/api/conversations/${id}/metadata`, primary.token);
274
- const current = typeof meta?.messageCount === 'number' ? meta.messageCount : 0;
275
- if (archiveMsgs <= current)
276
- continue; // healthy — archive not fuller than the live view
270
+ // A null count is an archive too large for the server to unpack; the
271
+ // client unpacks it in repairSession and compares there.
272
+ const counted = arch && arch.messages !== null;
273
+ if (counted) {
274
+ const archiveMsgs = typeof arch?.messages === 'number' ? arch.messages : 0;
275
+ if (archiveMsgs < minMessages)
276
+ continue; // no/thin archive — nothing to recover
277
+ const meta = await fetchJson(`${primary.url}/api/conversations/${id}/metadata`, primary.token);
278
+ const current = typeof meta?.messageCount === 'number' ? meta.messageCount : 0;
279
+ if (archiveMsgs <= current)
280
+ continue; // healthy — archive not fuller than the live view
281
+ }
282
+ else if (!arch) {
283
+ continue;
284
+ }
277
285
  // Damaged. Dry-run reports; apply rebuilds + pushes via the canonical path.
278
286
  const r = await repairSession(id, { dryRun: !opts.apply, verbose: opts.verbose, server: opts.server });
279
287
  // Skip the 'already-full' verdict repairSession may return once the on-disk