chat-recall 0.7.23 → 0.7.24
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/README.md +5 -5
- package/dist/cli.js +230 -59
- package/dist/mcp-relay.js +1 -1
- package/dist/mcp.js +235 -60
- package/dist/message-hook.js +14 -5
- package/dist/message-hook.js.map +1 -1
- package/dist/scan-worker.js +138 -14
- package/dist/watch.js +181 -57
- package/package.json +1 -1
- package/skills/chat-recall-sessions/SKILL.md +7 -3
package/dist/mcp.js
CHANGED
|
@@ -6412,6 +6412,130 @@ var init_sqlite_reader = __esm({
|
|
|
6412
6412
|
}
|
|
6413
6413
|
});
|
|
6414
6414
|
|
|
6415
|
+
// ../engine/dist/core/backends/opencode-v2.js
|
|
6416
|
+
function hasTable(db, name) {
|
|
6417
|
+
return !!db.prepare("SELECT 1 FROM main.sqlite_master WHERE type = 'table' AND name = ?").get(name);
|
|
6418
|
+
}
|
|
6419
|
+
function columnsOf(db, table) {
|
|
6420
|
+
return new Set(db.prepare(`SELECT name FROM pragma_table_info('${table}', 'main')`).all().map((r) => r.name));
|
|
6421
|
+
}
|
|
6422
|
+
function installOpencodeV2Views(db) {
|
|
6423
|
+
if (!hasTable(db, "session_v2") || !hasTable(db, "session_message"))
|
|
6424
|
+
return false;
|
|
6425
|
+
const v2Cols = columnsOf(db, "session_v2");
|
|
6426
|
+
const sessionCols = SESSION_COLUMNS.map((c) => v2Cols.has(c) ? c : `NULL AS ${c}`).join(", ");
|
|
6427
|
+
const hasV1 = hasTable(db, "message") && hasTable(db, "part");
|
|
6428
|
+
const v1Messages = hasV1 ? `SELECT id, session_id, time_created, time_updated, data FROM main.message WHERE session_id NOT IN (${V2_SESSIONS}) UNION ALL ` : "";
|
|
6429
|
+
const v1Parts = hasV1 ? `SELECT id, message_id, session_id, time_created, time_updated, data FROM main.part WHERE session_id NOT IN (${V2_SESSIONS}) UNION ALL ` : "";
|
|
6430
|
+
db.exec(`
|
|
6431
|
+
CREATE TEMP VIEW IF NOT EXISTS session AS SELECT ${sessionCols} FROM main.session_v2;
|
|
6432
|
+
|
|
6433
|
+
CREATE TEMP VIEW IF NOT EXISTS message AS
|
|
6434
|
+
${v1Messages}
|
|
6435
|
+
SELECT m.id, m.session_id, m.time_created, m.time_updated,
|
|
6436
|
+
CASE m.type
|
|
6437
|
+
WHEN 'user' THEN json_object('role', 'user', 'time', ${j("$.time")})
|
|
6438
|
+
ELSE json_object(
|
|
6439
|
+
'role', 'assistant',
|
|
6440
|
+
'agent', json_extract(m.data, '$.agent'),
|
|
6441
|
+
'modelID', json_extract(m.data, '$.model.id'),
|
|
6442
|
+
'providerID', json_extract(m.data, '$.model.providerID'),
|
|
6443
|
+
'cost', coalesce(json_extract(m.data, '$.cost'), 0),
|
|
6444
|
+
'tokens', ${j("$.tokens")},
|
|
6445
|
+
'time', ${j("$.time")})
|
|
6446
|
+
END AS data
|
|
6447
|
+
FROM main.session_message m WHERE m.type IN ('user', 'assistant');
|
|
6448
|
+
|
|
6449
|
+
CREATE TEMP VIEW IF NOT EXISTS part AS
|
|
6450
|
+
${v1Parts}
|
|
6451
|
+
SELECT m.id || ':text', m.id, m.session_id, m.time_created, m.time_updated,
|
|
6452
|
+
json_object('type', 'text', 'text', json_extract(m.data, '$.text'))
|
|
6453
|
+
FROM main.session_message m
|
|
6454
|
+
WHERE m.type = 'user' AND json_extract(m.data, '$.text') IS NOT NULL
|
|
6455
|
+
UNION ALL
|
|
6456
|
+
SELECT m.id || ':' || c.key, m.id, m.session_id, m.time_created + c.key, m.time_updated,
|
|
6457
|
+
CASE json_extract(c.value, '$.type')
|
|
6458
|
+
WHEN 'tool' THEN json_object(
|
|
6459
|
+
'type', 'tool',
|
|
6460
|
+
'tool', json_extract(c.value, '$.name'),
|
|
6461
|
+
'callID', json_extract(c.value, '$.id'),
|
|
6462
|
+
'state', json_object(
|
|
6463
|
+
'status', json_extract(c.value, '$.state.status'),
|
|
6464
|
+
'input', json(coalesce(json_extract(c.value, '$.state.input'), '{}')),
|
|
6465
|
+
'output', (SELECT group_concat(json_extract(o.value, '$.text'), char(10))
|
|
6466
|
+
FROM json_each(c.value, '$.state.content') o
|
|
6467
|
+
WHERE json_extract(o.value, '$.type') = 'text')))
|
|
6468
|
+
ELSE json_object('type', json_extract(c.value, '$.type'), 'text', json_extract(c.value, '$.text'))
|
|
6469
|
+
END
|
|
6470
|
+
FROM main.session_message m, json_each(m.data, '$.content') c
|
|
6471
|
+
WHERE m.type = 'assistant'
|
|
6472
|
+
UNION ALL
|
|
6473
|
+
SELECT m.id || ':step', m.id, m.session_id,
|
|
6474
|
+
coalesce(json_extract(m.data, '$.time.completed'), m.time_created), m.time_updated,
|
|
6475
|
+
json_object('type', 'step-finish', 'cost', coalesce(json_extract(m.data, '$.cost'), 0), 'tokens', ${j("$.tokens")})
|
|
6476
|
+
FROM main.session_message m WHERE m.type = 'assistant';
|
|
6477
|
+
`);
|
|
6478
|
+
return true;
|
|
6479
|
+
}
|
|
6480
|
+
function openOpencodeDb(path2) {
|
|
6481
|
+
const db = openSqliteReadonly(path2);
|
|
6482
|
+
if (!db)
|
|
6483
|
+
return null;
|
|
6484
|
+
try {
|
|
6485
|
+
installOpencodeV2Views(db);
|
|
6486
|
+
} catch {
|
|
6487
|
+
}
|
|
6488
|
+
return db;
|
|
6489
|
+
}
|
|
6490
|
+
function openOpencodeDbOrThrow(path2) {
|
|
6491
|
+
const db = openSqliteReadonlyOrThrow(path2);
|
|
6492
|
+
try {
|
|
6493
|
+
installOpencodeV2Views(db);
|
|
6494
|
+
} catch {
|
|
6495
|
+
}
|
|
6496
|
+
return db;
|
|
6497
|
+
}
|
|
6498
|
+
var SESSION_COLUMNS, j, V2_SESSIONS;
|
|
6499
|
+
var init_opencode_v2 = __esm({
|
|
6500
|
+
"../engine/dist/core/backends/opencode-v2.js"() {
|
|
6501
|
+
"use strict";
|
|
6502
|
+
init_sqlite_reader();
|
|
6503
|
+
SESSION_COLUMNS = [
|
|
6504
|
+
"id",
|
|
6505
|
+
"project_id",
|
|
6506
|
+
"parent_id",
|
|
6507
|
+
"slug",
|
|
6508
|
+
"directory",
|
|
6509
|
+
"title",
|
|
6510
|
+
"version",
|
|
6511
|
+
"share_url",
|
|
6512
|
+
"summary_additions",
|
|
6513
|
+
"summary_deletions",
|
|
6514
|
+
"summary_files",
|
|
6515
|
+
"summary_diffs",
|
|
6516
|
+
"revert",
|
|
6517
|
+
"permission",
|
|
6518
|
+
"time_created",
|
|
6519
|
+
"time_updated",
|
|
6520
|
+
"time_compacting",
|
|
6521
|
+
"time_archived",
|
|
6522
|
+
"workspace_id",
|
|
6523
|
+
"path",
|
|
6524
|
+
"agent",
|
|
6525
|
+
"model",
|
|
6526
|
+
"cost",
|
|
6527
|
+
"tokens_input",
|
|
6528
|
+
"tokens_output",
|
|
6529
|
+
"tokens_reasoning",
|
|
6530
|
+
"tokens_cache_read",
|
|
6531
|
+
"tokens_cache_write",
|
|
6532
|
+
"metadata"
|
|
6533
|
+
];
|
|
6534
|
+
j = (path2, fallback = "'{}'") => `json(coalesce(json_extract(m.data, '${path2}'), ${fallback}))`;
|
|
6535
|
+
V2_SESSIONS = "SELECT session_id FROM main.session_message";
|
|
6536
|
+
}
|
|
6537
|
+
});
|
|
6538
|
+
|
|
6415
6539
|
// ../engine/dist/core/generic-engine.js
|
|
6416
6540
|
import { basename as basename5 } from "path";
|
|
6417
6541
|
import { createPatch } from "diff";
|
|
@@ -6709,13 +6833,13 @@ import { existsSync as existsSync7 } from "fs";
|
|
|
6709
6833
|
import { homedir as homedir5 } from "os";
|
|
6710
6834
|
import { dirname as dirname8, join as join9 } from "path";
|
|
6711
6835
|
function openReadonly(path2) {
|
|
6712
|
-
return
|
|
6836
|
+
return openOpencodeDb(path2);
|
|
6713
6837
|
}
|
|
6714
6838
|
var PREFIX, OpencodeBackend, opencodeBackend;
|
|
6715
6839
|
var init_opencode = __esm({
|
|
6716
6840
|
"../engine/dist/core/backends/opencode.js"() {
|
|
6717
6841
|
"use strict";
|
|
6718
|
-
|
|
6842
|
+
init_opencode_v2();
|
|
6719
6843
|
init_tool_paths();
|
|
6720
6844
|
init_session_outcome();
|
|
6721
6845
|
init_session_git();
|
|
@@ -7006,9 +7130,9 @@ var init_opencode = __esm({
|
|
|
7006
7130
|
return [];
|
|
7007
7131
|
const parts = db.prepare(`
|
|
7008
7132
|
SELECT p.id, p.message_id, p.time_created, p.data, m.data AS msg_data
|
|
7009
|
-
FROM part p JOIN message m ON m.id = p.message_id
|
|
7133
|
+
FROM part p JOIN (SELECT id, data FROM message WHERE session_id = ?) m ON m.id = p.message_id
|
|
7010
7134
|
WHERE p.session_id = ? ORDER BY p.time_created ASC
|
|
7011
|
-
`).all(ocId);
|
|
7135
|
+
`).all(ocId, ocId);
|
|
7012
7136
|
const events = [];
|
|
7013
7137
|
let lineNum = 0;
|
|
7014
7138
|
for (const p of parts) {
|
|
@@ -7224,17 +7348,17 @@ var init_opencode = __esm({
|
|
|
7224
7348
|
if (!existsSync7(dbPath))
|
|
7225
7349
|
return null;
|
|
7226
7350
|
const realId = this.toRawId(id);
|
|
7227
|
-
const db =
|
|
7351
|
+
const db = openOpencodeDbOrThrow(dbPath);
|
|
7228
7352
|
try {
|
|
7229
7353
|
const session = db.prepare(`SELECT * FROM session WHERE id = ?`).get(realId);
|
|
7230
7354
|
if (!session)
|
|
7231
7355
|
return null;
|
|
7232
7356
|
const rows = db.prepare(`
|
|
7233
7357
|
SELECT m.id AS message_id, m.data AS message_data, p.id AS part_id, p.data AS part_data, p.time_created
|
|
7234
|
-
FROM part p JOIN message m ON p.message_id = m.id
|
|
7358
|
+
FROM part p JOIN (SELECT id, data FROM message WHERE session_id = ?) m ON p.message_id = m.id
|
|
7235
7359
|
WHERE p.session_id = ?
|
|
7236
7360
|
ORDER BY p.time_created ASC, p.id ASC
|
|
7237
|
-
`).all(realId);
|
|
7361
|
+
`).all(realId, realId);
|
|
7238
7362
|
const lines = [JSON.stringify({ kind: "session", row: session })];
|
|
7239
7363
|
for (const r of rows)
|
|
7240
7364
|
lines.push(JSON.stringify({ kind: "part", row: r }));
|
|
@@ -13207,19 +13331,19 @@ function mapJsonStrings(line, fn, escapedOnly) {
|
|
|
13207
13331
|
const q = line.indexOf('"', i);
|
|
13208
13332
|
if (q < 0)
|
|
13209
13333
|
return out + line.slice(i);
|
|
13210
|
-
let
|
|
13211
|
-
while (
|
|
13212
|
-
const c = line.charCodeAt(
|
|
13334
|
+
let j2 = q + 1;
|
|
13335
|
+
while (j2 < line.length) {
|
|
13336
|
+
const c = line.charCodeAt(j2);
|
|
13213
13337
|
if (c === 92)
|
|
13214
|
-
|
|
13338
|
+
j2 += 2;
|
|
13215
13339
|
else if (c === 34)
|
|
13216
13340
|
break;
|
|
13217
13341
|
else
|
|
13218
|
-
|
|
13342
|
+
j2++;
|
|
13219
13343
|
}
|
|
13220
|
-
const token = line.slice(q,
|
|
13344
|
+
const token = line.slice(q, j2 + 1);
|
|
13221
13345
|
out += line.slice(i, q);
|
|
13222
|
-
i =
|
|
13346
|
+
i = j2 + 1;
|
|
13223
13347
|
const body2 = token.slice(1, -1);
|
|
13224
13348
|
const escaped = body2.includes("\\");
|
|
13225
13349
|
if (escapedOnly && !escaped) {
|
|
@@ -13961,7 +14085,7 @@ async function parseOpenCodeSubagents(parentSessionId) {
|
|
|
13961
14085
|
if (!existsSync52(dbPath))
|
|
13962
14086
|
return [];
|
|
13963
14087
|
const realParent = parentSessionId.replace("opencode_", "");
|
|
13964
|
-
const db =
|
|
14088
|
+
const db = openOpencodeDbOrThrow(dbPath);
|
|
13965
14089
|
try {
|
|
13966
14090
|
const children = db.prepare(`
|
|
13967
14091
|
SELECT id, title, time_created
|
|
@@ -14005,16 +14129,16 @@ async function parseOpenCodeTranscript(sessionId) {
|
|
|
14005
14129
|
if (!existsSync52(dbPath))
|
|
14006
14130
|
return [];
|
|
14007
14131
|
const realId = sessionId.replace("opencode_", "");
|
|
14008
|
-
const db =
|
|
14132
|
+
const db = openOpencodeDbOrThrow(dbPath);
|
|
14009
14133
|
const messages = [];
|
|
14010
14134
|
try {
|
|
14011
14135
|
const parts = db.prepare(`
|
|
14012
14136
|
SELECT p.data, p.time_created, m.data as msg_data
|
|
14013
14137
|
FROM part p
|
|
14014
|
-
JOIN message m ON p.message_id = m.id
|
|
14138
|
+
JOIN (SELECT id, data FROM message WHERE session_id = ?) m ON p.message_id = m.id
|
|
14015
14139
|
WHERE p.session_id = ?
|
|
14016
14140
|
ORDER BY p.time_created ASC
|
|
14017
|
-
`).all(realId);
|
|
14141
|
+
`).all(realId, realId);
|
|
14018
14142
|
let lineNum = 0;
|
|
14019
14143
|
for (const part of parts) {
|
|
14020
14144
|
try {
|
|
@@ -14045,7 +14169,7 @@ var log4;
|
|
|
14045
14169
|
var init_opencode2 = __esm({
|
|
14046
14170
|
"../engine/dist/transcript/opencode.js"() {
|
|
14047
14171
|
"use strict";
|
|
14048
|
-
|
|
14172
|
+
init_opencode_v2();
|
|
14049
14173
|
init_logger();
|
|
14050
14174
|
log4 = createLogger("transcript-opencode");
|
|
14051
14175
|
}
|
|
@@ -15229,19 +15353,19 @@ function runTrufflehog(binary, filePath, opts = {}) {
|
|
|
15229
15353
|
if (!line.trim())
|
|
15230
15354
|
continue;
|
|
15231
15355
|
try {
|
|
15232
|
-
const
|
|
15233
|
-
const raw =
|
|
15356
|
+
const j2 = JSON.parse(line);
|
|
15357
|
+
const raw = j2.Raw || "";
|
|
15234
15358
|
if (looksLikeUuid(raw))
|
|
15235
15359
|
continue;
|
|
15236
15360
|
out.push({
|
|
15237
|
-
rule:
|
|
15238
|
-
line:
|
|
15361
|
+
rule: j2.DetectorName || "unknown",
|
|
15362
|
+
line: j2.SourceMetadata?.Data?.Filesystem?.line || 0,
|
|
15239
15363
|
preview: mask(raw),
|
|
15240
15364
|
// trufflehog reports `Verified: true` only when --verification
|
|
15241
15365
|
// ran AND the call succeeded. With --only-verified set, every
|
|
15242
15366
|
// returned finding is verified live by definition, so we tag
|
|
15243
15367
|
// them all true; with --no-verification, leave undefined.
|
|
15244
|
-
verified: opts.verifyOnly ? true :
|
|
15368
|
+
verified: opts.verifyOnly ? true : j2.Verified === true ? true : void 0
|
|
15245
15369
|
});
|
|
15246
15370
|
} catch {
|
|
15247
15371
|
}
|
|
@@ -15294,16 +15418,16 @@ function runTrufflehogDir(binary, dir, opts = {}) {
|
|
|
15294
15418
|
if (!line.trim())
|
|
15295
15419
|
continue;
|
|
15296
15420
|
try {
|
|
15297
|
-
const
|
|
15298
|
-
const raw =
|
|
15421
|
+
const j2 = JSON.parse(line);
|
|
15422
|
+
const raw = j2.Raw || "";
|
|
15299
15423
|
if (looksLikeUuid(raw))
|
|
15300
15424
|
continue;
|
|
15301
15425
|
out.push({
|
|
15302
|
-
rule:
|
|
15303
|
-
line:
|
|
15426
|
+
rule: j2.DetectorName || "unknown",
|
|
15427
|
+
line: j2.SourceMetadata?.Data?.Filesystem?.line || 0,
|
|
15304
15428
|
preview: mask(raw),
|
|
15305
|
-
verified: opts.verifyOnly ? true :
|
|
15306
|
-
file:
|
|
15429
|
+
verified: opts.verifyOnly ? true : j2.Verified === true ? true : void 0,
|
|
15430
|
+
file: j2.SourceMetadata?.Data?.Filesystem?.file || ""
|
|
15307
15431
|
});
|
|
15308
15432
|
} catch {
|
|
15309
15433
|
}
|
|
@@ -16107,16 +16231,16 @@ async function collectCode(opts) {
|
|
|
16107
16231
|
...blastTargets.map((f, i) => call(2e3 + i, "plan_change", { file: f, format: "json" }))
|
|
16108
16232
|
]);
|
|
16109
16233
|
blastTargets.forEach((f, i) => {
|
|
16110
|
-
const
|
|
16111
|
-
if (
|
|
16234
|
+
const j2 = parseJson(pc, 2e3 + i, null);
|
|
16235
|
+
if (j2 && typeof j2 === "object" && typeof j2.fan_in === "number") {
|
|
16112
16236
|
blast[f] = {
|
|
16113
|
-
fileRole:
|
|
16114
|
-
fanIn:
|
|
16115
|
-
fanOut:
|
|
16116
|
-
direct:
|
|
16117
|
-
transitive:
|
|
16118
|
-
maxDepth:
|
|
16119
|
-
directFiles: Array.isArray(
|
|
16237
|
+
fileRole: j2.file_role ?? "regular",
|
|
16238
|
+
fanIn: j2.fan_in ?? 0,
|
|
16239
|
+
fanOut: j2.fan_out ?? 0,
|
|
16240
|
+
direct: j2.direct ?? 0,
|
|
16241
|
+
transitive: j2.transitive ?? 0,
|
|
16242
|
+
maxDepth: j2.max_depth ?? 0,
|
|
16243
|
+
directFiles: Array.isArray(j2.direct_files) ? j2.direct_files.map(rel).slice(0, 20) : void 0
|
|
16120
16244
|
};
|
|
16121
16245
|
}
|
|
16122
16246
|
});
|
|
@@ -19081,7 +19205,7 @@ var MAX_CHUNK_CHARS8, OpenCodeSource;
|
|
|
19081
19205
|
var init_opencode_source = __esm({
|
|
19082
19206
|
"../engine/dist/parsers/opencode-source.js"() {
|
|
19083
19207
|
"use strict";
|
|
19084
|
-
|
|
19208
|
+
init_opencode_v2();
|
|
19085
19209
|
init_opencode();
|
|
19086
19210
|
init_settings();
|
|
19087
19211
|
MAX_CHUNK_CHARS8 = 2e3;
|
|
@@ -19098,7 +19222,7 @@ var init_opencode_source = __esm({
|
|
|
19098
19222
|
return;
|
|
19099
19223
|
let db;
|
|
19100
19224
|
try {
|
|
19101
|
-
db =
|
|
19225
|
+
db = openOpencodeDbOrThrow(this.dbPath);
|
|
19102
19226
|
} catch {
|
|
19103
19227
|
return;
|
|
19104
19228
|
}
|
|
@@ -19195,17 +19319,17 @@ var init_opencode_source = __esm({
|
|
|
19195
19319
|
if (!existsSync34(this.dbPath))
|
|
19196
19320
|
return [];
|
|
19197
19321
|
const sessionId = item.id.replace("opencode_", "");
|
|
19198
|
-
const db =
|
|
19322
|
+
const db = openOpencodeDbOrThrow(this.dbPath);
|
|
19199
19323
|
const chunks = [];
|
|
19200
19324
|
try {
|
|
19201
19325
|
const parts = db.prepare(`
|
|
19202
19326
|
SELECT p.data, m.data as msg_data
|
|
19203
19327
|
FROM part p
|
|
19204
|
-
JOIN message m ON p.message_id = m.id
|
|
19328
|
+
JOIN (SELECT id, data FROM message WHERE session_id = ?) m ON p.message_id = m.id
|
|
19205
19329
|
WHERE p.session_id = ?
|
|
19206
19330
|
AND (p.data LIKE '%"type":"text"%' OR p.data LIKE '%"type":"reasoning"%')
|
|
19207
19331
|
ORDER BY p.time_created ASC
|
|
19208
|
-
`).all(sessionId);
|
|
19332
|
+
`).all(sessionId, sessionId);
|
|
19209
19333
|
const userTexts = [];
|
|
19210
19334
|
const assistantTexts = [];
|
|
19211
19335
|
for (const part of parts) {
|
|
@@ -19269,7 +19393,7 @@ var OpenCodeTodoSource;
|
|
|
19269
19393
|
var init_opencode_todo_source = __esm({
|
|
19270
19394
|
"../engine/dist/parsers/opencode-todo-source.js"() {
|
|
19271
19395
|
"use strict";
|
|
19272
|
-
|
|
19396
|
+
init_opencode_v2();
|
|
19273
19397
|
init_opencode();
|
|
19274
19398
|
init_settings();
|
|
19275
19399
|
OpenCodeTodoSource = class {
|
|
@@ -19285,7 +19409,7 @@ var init_opencode_todo_source = __esm({
|
|
|
19285
19409
|
return;
|
|
19286
19410
|
let db;
|
|
19287
19411
|
try {
|
|
19288
|
-
db =
|
|
19412
|
+
db = openOpencodeDbOrThrow(this.dbPath);
|
|
19289
19413
|
} catch {
|
|
19290
19414
|
return;
|
|
19291
19415
|
}
|
|
@@ -19333,7 +19457,7 @@ var init_opencode_todo_source = __esm({
|
|
|
19333
19457
|
if (!existsSync35(this.dbPath))
|
|
19334
19458
|
return [];
|
|
19335
19459
|
const sessionId = item.extra?.sessionId || item.id.replace(`${opencodeBackend.idPrefix}todo_`, "");
|
|
19336
|
-
const db =
|
|
19460
|
+
const db = openOpencodeDbOrThrow(this.dbPath);
|
|
19337
19461
|
const chunks = [];
|
|
19338
19462
|
try {
|
|
19339
19463
|
const todos = db.prepare(`
|
|
@@ -21017,12 +21141,12 @@ var require_foldFlowLines = __commonJS({
|
|
|
21017
21141
|
ch = text[i += 1];
|
|
21018
21142
|
overflow = true;
|
|
21019
21143
|
}
|
|
21020
|
-
const
|
|
21021
|
-
if (escapedFolds[
|
|
21144
|
+
const j2 = i > escEnd + 1 ? i - 2 : escStart - 1;
|
|
21145
|
+
if (escapedFolds[j2])
|
|
21022
21146
|
return text;
|
|
21023
|
-
folds.push(
|
|
21024
|
-
escapedFolds[
|
|
21025
|
-
end =
|
|
21147
|
+
folds.push(j2);
|
|
21148
|
+
escapedFolds[j2] = true;
|
|
21149
|
+
end = j2 + endStep;
|
|
21026
21150
|
split = void 0;
|
|
21027
21151
|
} else {
|
|
21028
21152
|
overflow = true;
|
|
@@ -28852,7 +28976,7 @@ var init_http = __esm({
|
|
|
28852
28976
|
CLI_VERSION = JSON.parse(readFileSync41(new URL("../package.json", import.meta.url), "utf-8")).version || CLI_VERSION;
|
|
28853
28977
|
} catch {
|
|
28854
28978
|
try {
|
|
28855
|
-
if (true) CLI_VERSION = "0.7.
|
|
28979
|
+
if (true) CLI_VERSION = "0.7.24";
|
|
28856
28980
|
} catch {
|
|
28857
28981
|
}
|
|
28858
28982
|
}
|
|
@@ -29350,7 +29474,7 @@ var init_telemetry = __esm({
|
|
|
29350
29474
|
init_sync_client();
|
|
29351
29475
|
cliVersion2 = () => {
|
|
29352
29476
|
try {
|
|
29353
|
-
return true ? "0.7.
|
|
29477
|
+
return true ? "0.7.24" : "dev";
|
|
29354
29478
|
} catch {
|
|
29355
29479
|
return "dev";
|
|
29356
29480
|
}
|
|
@@ -31745,7 +31869,7 @@ var init_sync_client = __esm({
|
|
|
31745
31869
|
ownVersion = JSON.parse(readFileSync44(join55(dir, "../package.json"), "utf-8")).version || ownVersion;
|
|
31746
31870
|
} catch {
|
|
31747
31871
|
try {
|
|
31748
|
-
if (true) ownVersion = "0.7.
|
|
31872
|
+
if (true) ownVersion = "0.7.24";
|
|
31749
31873
|
} catch {
|
|
31750
31874
|
}
|
|
31751
31875
|
}
|
|
@@ -32980,6 +33104,40 @@ function runHook(sessionId, event, cwd) {
|
|
|
32980
33104
|
child.stdin.end(JSON.stringify({ session_id: sessionId, hook_event_name: event, cwd }));
|
|
32981
33105
|
});
|
|
32982
33106
|
}
|
|
33107
|
+
|
|
33108
|
+
/**
|
|
33109
|
+
* Wait for a message to an idle session. The hook long-polls the server and
|
|
33110
|
+
* prints the messages when one arrives; onText gets them. One waiter per
|
|
33111
|
+
* session; stopWaiter ends it when the session gets a prompt.
|
|
33112
|
+
*/
|
|
33113
|
+
const waiters = new Map();
|
|
33114
|
+
|
|
33115
|
+
function startWaiter(sessionId, cwd, onText) {
|
|
33116
|
+
if (waiters.has(sessionId)) return;
|
|
33117
|
+
let out = "";
|
|
33118
|
+
let child;
|
|
33119
|
+
try {
|
|
33120
|
+
child = spawn(HOOK, ["--wait"], { stdio: ["pipe", "pipe", "ignore"] });
|
|
33121
|
+
} catch {
|
|
33122
|
+
return;
|
|
33123
|
+
}
|
|
33124
|
+
waiters.set(sessionId, child);
|
|
33125
|
+
child.stdout.on("data", (c) => { out += c; });
|
|
33126
|
+
child.on("error", () => { waiters.delete(sessionId); });
|
|
33127
|
+
child.on("close", () => {
|
|
33128
|
+
if (waiters.get(sessionId) === child) waiters.delete(sessionId);
|
|
33129
|
+
const text = out.trim();
|
|
33130
|
+
if (text) Promise.resolve().then(() => onText(text)).catch(() => {});
|
|
33131
|
+
});
|
|
33132
|
+
child.stdin.end(JSON.stringify({ session_id: sessionId, hook_event_name: "Stop", cwd }));
|
|
33133
|
+
}
|
|
33134
|
+
|
|
33135
|
+
function stopWaiter(sessionId) {
|
|
33136
|
+
const child = waiters.get(sessionId);
|
|
33137
|
+
if (!child) return;
|
|
33138
|
+
waiters.delete(sessionId);
|
|
33139
|
+
try { child.kill(); } catch { /* gone */ }
|
|
33140
|
+
}
|
|
32983
33141
|
`;
|
|
32984
33142
|
}
|
|
32985
33143
|
function opencodeMessagesSource(wrapperPath) {
|
|
@@ -33005,6 +33163,7 @@ async function setup(ctx) {
|
|
|
33005
33163
|
await ctx.session.hook("prompt", async (event) => {
|
|
33006
33164
|
const id = event?.sessionID;
|
|
33007
33165
|
if (!id || !event.prompt || (await isChild(id))) return;
|
|
33166
|
+
stopWaiter("opencode_" + id);
|
|
33008
33167
|
const parts = [];
|
|
33009
33168
|
if (!started.has(id)) {
|
|
33010
33169
|
started.add(id);
|
|
@@ -33020,15 +33179,23 @@ async function setup(ctx) {
|
|
|
33020
33179
|
for await (const ev of ctx.event.subscribe({ signal: controller.signal })) {
|
|
33021
33180
|
const id = ev?.data?.sessionID ?? ev?.properties?.sessionID;
|
|
33022
33181
|
if (!id || !started.has(id)) continue;
|
|
33023
|
-
if (RUN_END.has(ev.type))
|
|
33024
|
-
|
|
33182
|
+
if (RUN_END.has(ev.type)) {
|
|
33183
|
+
await runHook("opencode_" + id, "Stop", dir);
|
|
33184
|
+
// An idle session acts on a message from another session by itself:
|
|
33185
|
+
// the text becomes its next prompt.
|
|
33186
|
+
startWaiter("opencode_" + id, dir, (text) => ctx.session.prompt({ sessionID: id, text }));
|
|
33187
|
+
} else if (ev.type === "session.deleted") {
|
|
33025
33188
|
started.delete(id);
|
|
33189
|
+
stopWaiter("opencode_" + id);
|
|
33026
33190
|
await runHook("opencode_" + id, "SessionEnd", dir);
|
|
33027
33191
|
}
|
|
33028
33192
|
}
|
|
33029
33193
|
} catch { /* the subscription ends with the plugin */ }
|
|
33030
33194
|
})();
|
|
33031
|
-
return () =>
|
|
33195
|
+
return () => {
|
|
33196
|
+
controller.abort();
|
|
33197
|
+
for (const id of [...waiters.keys()]) stopWaiter(id);
|
|
33198
|
+
};
|
|
33032
33199
|
}
|
|
33033
33200
|
|
|
33034
33201
|
const pending = new Map();
|
|
@@ -33087,6 +33254,7 @@ export default function (pi) {
|
|
|
33087
33254
|
pending = await runHook(idOf(ctx), "SessionStart", cwdOf(ctx));
|
|
33088
33255
|
});
|
|
33089
33256
|
pi.on("before_agent_start", async (event, ctx) => {
|
|
33257
|
+
stopWaiter(idOf(ctx));
|
|
33090
33258
|
if (event.messageType !== "user") return;
|
|
33091
33259
|
const now = await runHook(idOf(ctx), "UserPromptSubmit", cwdOf(ctx));
|
|
33092
33260
|
const text = [pending, now].filter(Boolean).join("\\n\\n");
|
|
@@ -33096,8 +33264,11 @@ export default function (pi) {
|
|
|
33096
33264
|
});
|
|
33097
33265
|
pi.on("agent_end", async (_event, ctx) => {
|
|
33098
33266
|
await runHook(idOf(ctx), "Stop", cwdOf(ctx));
|
|
33267
|
+
// An idle session acts on a message from another session by itself.
|
|
33268
|
+
startWaiter(idOf(ctx), cwdOf(ctx), (text) => pi.sendUserMessage(text));
|
|
33099
33269
|
});
|
|
33100
33270
|
pi.on("session_shutdown", async (_event, ctx) => {
|
|
33271
|
+
stopWaiter(idOf(ctx));
|
|
33101
33272
|
await runHook(idOf(ctx), "SessionEnd", cwdOf(ctx));
|
|
33102
33273
|
});
|
|
33103
33274
|
}
|
|
@@ -36081,7 +36252,11 @@ line to pass as \`expand_line\` to get it whole.`,
|
|
|
36081
36252
|
Shows your most recent conversations across all projects or filtered by project.
|
|
36082
36253
|
Use this when the user says "continue our last conversation" or wants to see recent work.
|
|
36083
36254
|
|
|
36084
|
-
Pass \`since_hours: N\` to restrict to sessions modified in the last N hours
|
|
36255
|
+
Pass \`since_hours: N\` to restrict to sessions modified in the last N hours.
|
|
36256
|
+
|
|
36257
|
+
It lists synced transcripts, which reach the server some time after they change. To find a
|
|
36258
|
+
session that runs NOW, or to send one a message, use recall_session_status: it lists the live
|
|
36259
|
+
sessions of every AI tool, with their ids and names.`,
|
|
36085
36260
|
inputSchema: {
|
|
36086
36261
|
type: "object",
|
|
36087
36262
|
properties: {
|
|
@@ -40164,7 +40339,7 @@ function installCrashGuards() {
|
|
|
40164
40339
|
reportClientEvent2("mcp_crash", { message: err.stack || err.message });
|
|
40165
40340
|
});
|
|
40166
40341
|
}
|
|
40167
|
-
var RELAY_VERSION = true ? "0.7.
|
|
40342
|
+
var RELAY_VERSION = true ? "0.7.24" : "0.0.0";
|
|
40168
40343
|
function daemonIdleSecs() {
|
|
40169
40344
|
const raw = process.env.CHAT_RECALL_DAEMON_IDLE_SECS;
|
|
40170
40345
|
if (raw === void 0) return 900;
|
package/dist/message-hook.js
CHANGED
|
@@ -65,7 +65,7 @@ try {
|
|
|
65
65
|
CLI_VERSION = JSON.parse(readFileSync2(new URL("../package.json", import.meta.url), "utf-8")).version || CLI_VERSION;
|
|
66
66
|
} catch {
|
|
67
67
|
try {
|
|
68
|
-
if (true) CLI_VERSION = "0.7.
|
|
68
|
+
if (true) CLI_VERSION = "0.7.24";
|
|
69
69
|
} catch {
|
|
70
70
|
}
|
|
71
71
|
}
|
|
@@ -409,7 +409,8 @@ function releaseWaiter(sessionId) {
|
|
|
409
409
|
} catch {
|
|
410
410
|
}
|
|
411
411
|
}
|
|
412
|
-
|
|
412
|
+
var PLUGIN_WAITERS = /* @__PURE__ */ new Set(["opencode", "pi"]);
|
|
413
|
+
async function wait(payload, target, tool = "claude") {
|
|
413
414
|
const sessionId = sessionIdOf(payload);
|
|
414
415
|
if (!sessionId) {
|
|
415
416
|
debug("waiter: no session id");
|
|
@@ -458,9 +459,15 @@ async function wait(payload, target) {
|
|
|
458
459
|
}
|
|
459
460
|
const messages = r.body.messages ?? [];
|
|
460
461
|
if (!messages.length) continue;
|
|
461
|
-
|
|
462
|
+
const text = renderWake(sessionId, messages, Date.now(), new Map(Object.entries(r.body.labels ?? {}))) + "\n";
|
|
463
|
+
if (tool === "claude") {
|
|
464
|
+
await writeOut(process.stderr, text);
|
|
465
|
+
await ack(target, sessionId, messages);
|
|
466
|
+
return 2;
|
|
467
|
+
}
|
|
468
|
+
await writeOut(process.stdout, text);
|
|
462
469
|
await ack(target, sessionId, messages);
|
|
463
|
-
return
|
|
470
|
+
return 0;
|
|
464
471
|
}
|
|
465
472
|
} finally {
|
|
466
473
|
releaseWaiter(sessionId);
|
|
@@ -495,7 +502,9 @@ async function main() {
|
|
|
495
502
|
debug("no login: run `chat-recall login`");
|
|
496
503
|
return 0;
|
|
497
504
|
}
|
|
498
|
-
if (process.argv.includes("--wait"))
|
|
505
|
+
if (process.argv.includes("--wait")) {
|
|
506
|
+
return toolArg === "claude" || PLUGIN_WAITERS.has(toolArg) ? wait(payload, target, toolArg) : 0;
|
|
507
|
+
}
|
|
499
508
|
await turn(payload, target, toolArg);
|
|
500
509
|
return 0;
|
|
501
510
|
}
|
package/dist/message-hook.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-hook.js","sourceRoot":"","sources":["../src/message-hook.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"message-hook.js","sourceRoot":"","sources":["../src/message-hook.ts"],"names":[],"mappings":"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"}
|