@pennixrv/trellis-core 0.7.0-beta.5 → 0.7.0-beta.50
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/channel/api/send.d.ts.map +1 -1
- package/dist/channel/api/send.js +3 -0
- package/dist/channel/api/send.js.map +1 -1
- package/dist/channel/api/workers.d.ts +1 -1
- package/dist/channel/api/workers.d.ts.map +1 -1
- package/dist/channel/api/workers.js +6 -2
- package/dist/channel/api/workers.js.map +1 -1
- package/dist/channel/index.d.ts +3 -0
- package/dist/channel/index.d.ts.map +1 -1
- package/dist/channel/index.js +2 -0
- package/dist/channel/index.js.map +1 -1
- package/dist/channel/internal/store/diagnostics.d.ts +3 -0
- package/dist/channel/internal/store/diagnostics.d.ts.map +1 -0
- package/dist/channel/internal/store/diagnostics.js +20 -0
- package/dist/channel/internal/store/diagnostics.js.map +1 -0
- package/dist/channel/internal/store/events.d.ts +9 -0
- package/dist/channel/internal/store/events.d.ts.map +1 -1
- package/dist/channel/internal/store/events.js +11 -3
- package/dist/channel/internal/store/events.js.map +1 -1
- package/dist/channel/internal/store/session-relations.d.ts +16 -0
- package/dist/channel/internal/store/session-relations.d.ts.map +1 -0
- package/dist/channel/internal/store/session-relations.js +148 -0
- package/dist/channel/internal/store/session-relations.js.map +1 -0
- package/dist/mem/adapters/claude.d.ts +1 -1
- package/dist/mem/adapters/claude.js +1 -1
- package/dist/mem/adapters/codex.d.ts +7 -1
- package/dist/mem/adapters/codex.d.ts.map +1 -1
- package/dist/mem/adapters/codex.js +49 -10
- package/dist/mem/adapters/codex.js.map +1 -1
- package/dist/mem/adapters/devin.d.ts +1 -1
- package/dist/mem/adapters/devin.js +1 -1
- package/dist/mem/adapters/grok.d.ts +1 -1
- package/dist/mem/adapters/grok.js +1 -1
- package/dist/mem/adapters/zcode.d.ts +1 -1
- package/dist/mem/adapters/zcode.js +1 -1
- package/dist/mem/context.d.ts.map +1 -1
- package/dist/mem/context.js +115 -66
- package/dist/mem/context.js.map +1 -1
- package/dist/mem/internal/jsonl.d.ts.map +1 -1
- package/dist/mem/internal/jsonl.js +5 -1
- package/dist/mem/internal/jsonl.js.map +1 -1
- package/dist/mem/phase.d.ts +4 -4
- package/dist/mem/phase.d.ts.map +1 -1
- package/dist/mem/phase.js +26 -23
- package/dist/mem/phase.js.map +1 -1
- package/dist/mem/search.d.ts +5 -0
- package/dist/mem/search.d.ts.map +1 -1
- package/dist/mem/search.js +33 -23
- package/dist/mem/search.js.map +1 -1
- package/dist/mem/sessions.js +2 -2
- package/dist/mem/sessions.js.map +1 -1
- package/dist/mem/types.d.ts +3 -3
- package/dist/mem/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -22,13 +22,14 @@
|
|
|
22
22
|
* the following `response_item` / `message` / `assistant` and stays excluded.
|
|
23
23
|
*/
|
|
24
24
|
import * as fs from "node:fs";
|
|
25
|
+
import { createHash } from "node:crypto";
|
|
25
26
|
import * as path from "node:path";
|
|
26
27
|
import { compactionBoundaryTurn, stripInjectionTags, isBootstrapTurn, turnKey, } from "../dialogue.js";
|
|
27
28
|
import { inRangeOverlap, sameProject } from "../filter.js";
|
|
28
29
|
import { readJsonl, readJsonlFirst } from "../internal/jsonl.js";
|
|
29
30
|
import { CODEX_SESSIONS, walkDir } from "../internal/paths.js";
|
|
30
31
|
import { parseTaskPyCommandsAll } from "../phase.js";
|
|
31
|
-
import {
|
|
32
|
+
import { createDialogueSearch } from "../search.js";
|
|
32
33
|
function parseDialogueRole(v) {
|
|
33
34
|
return v === "user" || v === "assistant" ? v : undefined;
|
|
34
35
|
}
|
|
@@ -142,22 +143,40 @@ function buildTurnFromMessage(role, parts) {
|
|
|
142
143
|
* once per copy, and genuine repeats survive.
|
|
143
144
|
*/
|
|
144
145
|
class CodexTurnPool {
|
|
146
|
+
onTurn;
|
|
145
147
|
turns = [];
|
|
146
148
|
counts = new Map();
|
|
149
|
+
appended = 0;
|
|
150
|
+
prefix = 0;
|
|
151
|
+
constructor(onTurn) {
|
|
152
|
+
this.onTurn = onTurn;
|
|
153
|
+
}
|
|
147
154
|
push(turn) {
|
|
148
|
-
this.
|
|
155
|
+
if (this.onTurn)
|
|
156
|
+
this.onTurn(turn, this.appended++);
|
|
157
|
+
else
|
|
158
|
+
this.turns.push(turn);
|
|
149
159
|
this.bump(turn);
|
|
150
160
|
}
|
|
151
161
|
get length() {
|
|
152
|
-
return this.turns.length;
|
|
162
|
+
return this.onTurn ? this.appended + this.prefix : this.turns.length;
|
|
163
|
+
}
|
|
164
|
+
get recoveredPrefixLength() {
|
|
165
|
+
return this.prefix;
|
|
153
166
|
}
|
|
154
167
|
toArray() {
|
|
155
168
|
return this.turns;
|
|
156
169
|
}
|
|
170
|
+
key(turn) {
|
|
171
|
+
// Query dedupe retains fingerprints, never full dialogue text keys.
|
|
172
|
+
return this.onTurn
|
|
173
|
+
? createHash("sha256").update(turn.role).update("\0").update(turn.text).digest("hex")
|
|
174
|
+
: turnKey(turn);
|
|
175
|
+
}
|
|
157
176
|
bump(turn) {
|
|
158
177
|
if (turn.kind === "marker")
|
|
159
178
|
return;
|
|
160
|
-
const k =
|
|
179
|
+
const k = this.key(turn);
|
|
161
180
|
this.counts.set(k, (this.counts.get(k) ?? 0) + 1);
|
|
162
181
|
}
|
|
163
182
|
/**
|
|
@@ -184,7 +203,7 @@ class CodexTurnPool {
|
|
|
184
203
|
const turn = buildTurnFromMessage(role, item.content);
|
|
185
204
|
if (!turn)
|
|
186
205
|
continue;
|
|
187
|
-
const k =
|
|
206
|
+
const k = this.key(turn);
|
|
188
207
|
const alreadyInPool = this.counts.get(k) ?? 0;
|
|
189
208
|
const used = consumed.get(k) ?? 0;
|
|
190
209
|
if (used < alreadyInPool) {
|
|
@@ -195,7 +214,13 @@ class CodexTurnPool {
|
|
|
195
214
|
consumed.set(k, used + 1);
|
|
196
215
|
}
|
|
197
216
|
if (recovered.length > 0) {
|
|
198
|
-
this.
|
|
217
|
+
if (this.onTurn) {
|
|
218
|
+
this.prefix += recovered.length;
|
|
219
|
+
// Negative indices preserve prepend order even across later compactions.
|
|
220
|
+
recovered.forEach((turn, i) => this.onTurn?.(turn, i - this.prefix));
|
|
221
|
+
}
|
|
222
|
+
else
|
|
223
|
+
this.turns = [...recovered, ...this.turns];
|
|
199
224
|
for (const turn of recovered)
|
|
200
225
|
this.bump(turn);
|
|
201
226
|
}
|
|
@@ -255,12 +280,21 @@ export function codexExtractDialogue(s, warnings) {
|
|
|
255
280
|
export function codexSearch(s, kw) {
|
|
256
281
|
// No warnings sink: search fans out over the whole corpus and a per-session
|
|
257
282
|
// notice would be printed thousands of times.
|
|
258
|
-
|
|
283
|
+
const search = createDialogueSearch(kw);
|
|
284
|
+
visitCodexDialogue(s, (turn, index) => search.add(turn, index));
|
|
285
|
+
return search.result();
|
|
286
|
+
}
|
|
287
|
+
/** Internal query traversal. Add prefixLength to emitted indices to obtain
|
|
288
|
+
* final dialogue indices; emission order itself is not chronological. */
|
|
289
|
+
export function visitCodexDialogue(s, onTurn, warnings) {
|
|
290
|
+
const pool = new CodexTurnPool(onTurn);
|
|
291
|
+
scanCodexTurns(s, pool, warnings);
|
|
292
|
+
return { totalTurns: pool.length, prefixLength: pool.recoveredPrefixLength };
|
|
259
293
|
}
|
|
260
294
|
/**
|
|
261
295
|
* Codex twin of `collectClaudeTurnsAndEvents`. Single pass over the rollout
|
|
262
296
|
* file; emits both the cleaned dialogue turns and the list of
|
|
263
|
-
* `task.py create|start` invocations found inside `function_call` events whose
|
|
297
|
+
* `task.py create|replan|start` invocations found inside `function_call` events whose
|
|
264
298
|
* `name === "exec_command"` (or `"shell"`).
|
|
265
299
|
*
|
|
266
300
|
* Compaction keeps everything: collected turns stay, retained history is merged
|
|
@@ -271,13 +305,17 @@ export function codexSearch(s, kw) {
|
|
|
271
305
|
export function collectCodexTurnsAndEvents(s, warnings) {
|
|
272
306
|
const pool = new CodexTurnPool();
|
|
273
307
|
const events = [];
|
|
308
|
+
scanCodexTurns(s, pool, warnings, events);
|
|
309
|
+
return { turns: pool.toArray(), events };
|
|
310
|
+
}
|
|
311
|
+
function scanCodexTurns(s, pool, warnings, events) {
|
|
274
312
|
let encryptedInterAgent = 0;
|
|
275
313
|
readJsonl(s.filePath, (obj) => {
|
|
276
314
|
if (obj.type === "compacted") {
|
|
277
315
|
const rh = obj.payload?.replacement_history;
|
|
278
316
|
const recovered = Array.isArray(rh) ? pool.absorbRetainedHistory(rh) : [];
|
|
279
317
|
if (recovered.length > 0) {
|
|
280
|
-
for (const ev of events)
|
|
318
|
+
for (const ev of events ?? [])
|
|
281
319
|
ev.turnIndex += recovered.length;
|
|
282
320
|
if (!recovered.some((t) => t.role === "assistant")) {
|
|
283
321
|
pushWarningOnce(warnings, WARN_COMPACTION_LOSSY, `session ${s.id}: recovered ${recovered.length} pre-compaction turn(s) from Codex's retained history, but it retains user messages only — assistant replies from before the boundary are not in this file.`);
|
|
@@ -307,6 +345,8 @@ export function collectCodexTurnsAndEvents(s, warnings) {
|
|
|
307
345
|
return;
|
|
308
346
|
}
|
|
309
347
|
if (p.type === "function_call") {
|
|
348
|
+
if (!events)
|
|
349
|
+
return;
|
|
310
350
|
const fnName = p.name;
|
|
311
351
|
if (fnName !== "exec_command" && fnName !== "shell")
|
|
312
352
|
return;
|
|
@@ -339,6 +379,5 @@ export function collectCodexTurnsAndEvents(s, warnings) {
|
|
|
339
379
|
if (encryptedInterAgent > 0) {
|
|
340
380
|
pushWarningOnce(warnings, WARN_ENCRYPTED_INTER_AGENT, `session ${s.id}: ${encryptedInterAgent} inter-agent message payload(s) are stored encrypted by Codex and cannot be read back — the instructions driving this multi-agent run are not recoverable from the rollout.`);
|
|
341
381
|
}
|
|
342
|
-
return { turns: pool.toArray(), events };
|
|
343
382
|
}
|
|
344
383
|
//# sourceMappingURL=codex.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../../src/mem/adapters/codex.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../../src/mem/adapters/codex.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,7 +37,7 @@ export declare function releaseDevinSessionStore(): void;
|
|
|
37
37
|
export declare function devinListSessions(f: MemFilter, warnings?: MemWarning[]): MemSessionInfo[];
|
|
38
38
|
/**
|
|
39
39
|
* Single pass over the main chain: cleaned dialogue plus `task.py`
|
|
40
|
-
* create/start events from assistant `exec` tool_calls. `turnIndex` is the
|
|
40
|
+
* create/replan/start events from assistant `exec` tool_calls. `turnIndex` is the
|
|
41
41
|
* turn count *before* this node's own text is pushed (Claude/Codex
|
|
42
42
|
* convention: the tool ran as part of producing the next assistant turn).
|
|
43
43
|
*/
|
|
@@ -334,7 +334,7 @@ function buildTurn(node) {
|
|
|
334
334
|
}
|
|
335
335
|
/**
|
|
336
336
|
* Single pass over the main chain: cleaned dialogue plus `task.py`
|
|
337
|
-
* create/start events from assistant `exec` tool_calls. `turnIndex` is the
|
|
337
|
+
* create/replan/start events from assistant `exec` tool_calls. `turnIndex` is the
|
|
338
338
|
* turn count *before* this node's own text is pushed (Claude/Codex
|
|
339
339
|
* convention: the tool ran as part of producing the next assistant turn).
|
|
340
340
|
*/
|
|
@@ -31,7 +31,7 @@ export declare function grokExtractDialogue(s: MemSessionInfo, warnings?: MemWar
|
|
|
31
31
|
export declare function grokSearch(s: MemSessionInfo, kw: string): SearchHit;
|
|
32
32
|
/**
|
|
33
33
|
* Single pass over `chat_history.jsonl`: cleaned dialogue turns plus the
|
|
34
|
-
* `task.py create|start` invocations found in `run_terminal_command` tool
|
|
34
|
+
* `task.py create|replan|start` invocations found in `run_terminal_command` tool
|
|
35
35
|
* calls, which is what `--phase` slicing needs.
|
|
36
36
|
*/
|
|
37
37
|
export declare function collectGrokTurnsAndEvents(s: MemSessionInfo, warnings?: MemWarning[]): {
|
|
@@ -141,7 +141,7 @@ export function grokSearch(s, kw) {
|
|
|
141
141
|
}
|
|
142
142
|
/**
|
|
143
143
|
* Single pass over `chat_history.jsonl`: cleaned dialogue turns plus the
|
|
144
|
-
* `task.py create|start` invocations found in `run_terminal_command` tool
|
|
144
|
+
* `task.py create|replan|start` invocations found in `run_terminal_command` tool
|
|
145
145
|
* calls, which is what `--phase` slicing needs.
|
|
146
146
|
*/
|
|
147
147
|
export function collectGrokTurnsAndEvents(s, warnings) {
|
|
@@ -46,7 +46,7 @@ export declare function zcodeExtractDialogue(s: MemSessionInfo, warnings?: MemWa
|
|
|
46
46
|
export declare function zcodeSearch(s: MemSessionInfo, kw: string, warnings?: MemWarning[]): SearchHit;
|
|
47
47
|
/**
|
|
48
48
|
* Single pass over messages + parts. Emits both the cleaned dialogue turns and
|
|
49
|
-
* the list of `task.py create|start` invocations found in `Bash` tool parts
|
|
49
|
+
* the list of `task.py create|replan|start` invocations found in `Bash` tool parts
|
|
50
50
|
* (`{type:"tool", tool:"Bash", state:{input:{command:"..."}}}`). `turnIndex`
|
|
51
51
|
* for each event is the turn count at the time the tool ran.
|
|
52
52
|
*
|
|
@@ -285,7 +285,7 @@ export function zcodeSearch(s, kw, warnings = []) {
|
|
|
285
285
|
// ---------- phase slicing (task.py boundary detection) ----------
|
|
286
286
|
/**
|
|
287
287
|
* Single pass over messages + parts. Emits both the cleaned dialogue turns and
|
|
288
|
-
* the list of `task.py create|start` invocations found in `Bash` tool parts
|
|
288
|
+
* the list of `task.py create|replan|start` invocations found in `Bash` tool parts
|
|
289
289
|
* (`{type:"tool", tool:"Bash", state:{input:{command:"..."}}}`). `turnIndex`
|
|
290
290
|
* for each event is the turn count at the time the tool ran.
|
|
291
291
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/mem/context.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/mem/context.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAYH,OAAO,KAAK,EAEV,YAAY,EACZ,gBAAgB,EAChB,cAAc,EAGd,qBAAqB,EACtB,MAAM,YAAY,CAAC;AAEpB,UAAU,eAAe;IACvB,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAyED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,SAAS,YAAY,EAAE,EAC9B,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,eAAe,CAmBjB;AA2CD;iEACiE;AACjE,wBAAgB,cAAc,CAC5B,OAAO,EAAE,qBAAqB,GAC7B,gBAAgB,CAqClB"}
|
package/dist/mem/context.js
CHANGED
|
@@ -3,7 +3,66 @@
|
|
|
3
3
|
* sub-agent children, then select a token-budgeted window of turns around the
|
|
4
4
|
* top hits.
|
|
5
5
|
*/
|
|
6
|
+
import { visitCodexDialogue } from "./adapters/codex.js";
|
|
6
7
|
import { buildChildIndex, extractDialogue, findSessionById, listAll, MemSessionNotFoundError, resolveFilter, WIDE_LIMIT, } from "./sessions.js";
|
|
8
|
+
function contextMatchCount(text, tokens) {
|
|
9
|
+
if (tokens.length === 0)
|
|
10
|
+
return 0;
|
|
11
|
+
const hay = text.toLowerCase();
|
|
12
|
+
if (!tokens.every((tok) => hay.includes(tok)))
|
|
13
|
+
return 0;
|
|
14
|
+
let hits = 0;
|
|
15
|
+
for (const tok of tokens) {
|
|
16
|
+
let from = 0;
|
|
17
|
+
while (true) {
|
|
18
|
+
const idx = hay.indexOf(tok, from);
|
|
19
|
+
if (idx === -1)
|
|
20
|
+
break;
|
|
21
|
+
hits++;
|
|
22
|
+
from = idx + tok.length;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
return hits;
|
|
26
|
+
}
|
|
27
|
+
function contextIndices(metadata, grep, nTurns, around) {
|
|
28
|
+
const ranked = grep ? metadata.filter((turn) => turn.hits > 0) : [];
|
|
29
|
+
ranked.sort((a, b) => {
|
|
30
|
+
if (a.role !== b.role)
|
|
31
|
+
return a.role === "user" ? -1 : 1;
|
|
32
|
+
return b.hits - a.hits || a.idx - b.idx;
|
|
33
|
+
});
|
|
34
|
+
const hitIndices = (grep ? ranked : metadata)
|
|
35
|
+
.slice(0, Math.max(0, nTurns))
|
|
36
|
+
.map((turn) => turn.idx);
|
|
37
|
+
const display = new Set();
|
|
38
|
+
for (const idx of hitIndices) {
|
|
39
|
+
for (let j = Math.max(0, idx - around); j <= Math.min(metadata.length - 1, idx + around); j++)
|
|
40
|
+
display.add(j);
|
|
41
|
+
}
|
|
42
|
+
return {
|
|
43
|
+
ordered: [...display].sort((a, b) => a - b),
|
|
44
|
+
hitSet: new Set(hitIndices),
|
|
45
|
+
totalHitTurns: ranked.length,
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
/** Include truncation notation in the budget; tiny budgets keep text only. */
|
|
49
|
+
function contextTextPlan(length, maxChars) {
|
|
50
|
+
if (maxChars <= 0)
|
|
51
|
+
return { take: 0, suffix: "" };
|
|
52
|
+
let take = Math.floor(maxChars / 2);
|
|
53
|
+
if (length <= take)
|
|
54
|
+
return { take: length, suffix: "" };
|
|
55
|
+
let suffix = `\n…[+${length - take} chars]`;
|
|
56
|
+
if (suffix.length > maxChars)
|
|
57
|
+
return { take: Math.min(length, maxChars), suffix: "" };
|
|
58
|
+
while (take + suffix.length > maxChars) {
|
|
59
|
+
take = Math.max(0, maxChars - suffix.length);
|
|
60
|
+
suffix = `\n…[+${length - take} chars]`;
|
|
61
|
+
if (suffix.length > maxChars)
|
|
62
|
+
return { take: Math.min(length, maxChars), suffix: "" };
|
|
63
|
+
}
|
|
64
|
+
return { take, suffix };
|
|
65
|
+
}
|
|
7
66
|
/**
|
|
8
67
|
* Pure selection: rank turns against `grep` (user-role first, then hit
|
|
9
68
|
* density), take the top `nTurns`, expand each by `around` turns of context,
|
|
@@ -11,76 +70,64 @@ import { buildChildIndex, extractDialogue, findSessionById, listAll, MemSessionN
|
|
|
11
70
|
* exceeds half the budget. With no `grep`, returns the first `nTurns` turns.
|
|
12
71
|
*/
|
|
13
72
|
export function selectContextTurns(turns, grep, nTurns, around, maxChars) {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
const hay = text.toLowerCase();
|
|
20
|
-
if (!tokens.every((tok) => hay.includes(tok)))
|
|
21
|
-
return 0;
|
|
22
|
-
let n = 0;
|
|
23
|
-
for (const tok of tokens) {
|
|
24
|
-
let from = 0;
|
|
25
|
-
while (true) {
|
|
26
|
-
const idx = hay.indexOf(tok, from);
|
|
27
|
-
if (idx === -1)
|
|
28
|
-
break;
|
|
29
|
-
n++;
|
|
30
|
-
from = idx + tok.length;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
return n;
|
|
34
|
-
};
|
|
35
|
-
const ranked = [];
|
|
36
|
-
for (let i = 0; i < turns.length; i++) {
|
|
37
|
-
const turn = turns[i];
|
|
38
|
-
if (!turn)
|
|
39
|
-
continue;
|
|
40
|
-
const h = tokens.length === 0 ? 0 : matchCount(turn.text);
|
|
41
|
-
if (h > 0)
|
|
42
|
-
ranked.push({ idx: i, role: turn.role, hits: h });
|
|
43
|
-
}
|
|
44
|
-
totalHitTurns = ranked.length;
|
|
45
|
-
ranked.sort((a, b) => {
|
|
46
|
-
if (a.role !== b.role)
|
|
47
|
-
return a.role === "user" ? -1 : 1;
|
|
48
|
-
if (b.hits !== a.hits)
|
|
49
|
-
return b.hits - a.hits;
|
|
50
|
-
return a.idx - b.idx;
|
|
51
|
-
});
|
|
52
|
-
hitIndices = ranked.slice(0, nTurns).map((r) => r.idx);
|
|
53
|
-
}
|
|
54
|
-
else {
|
|
55
|
-
for (let i = 0; i < Math.min(nTurns, turns.length); i++)
|
|
56
|
-
hitIndices.push(i);
|
|
57
|
-
}
|
|
58
|
-
// Expand each hit by `around` turns on either side; dedupe via Set.
|
|
59
|
-
const display = new Set();
|
|
60
|
-
for (const idx of hitIndices) {
|
|
61
|
-
for (let j = Math.max(0, idx - around); j <= Math.min(turns.length - 1, idx + around); j++) {
|
|
62
|
-
display.add(j);
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
const ordered = [...display].sort((a, b) => a - b);
|
|
66
|
-
const hitSet = new Set(hitIndices);
|
|
73
|
+
const tokens = grep?.toLowerCase().split(/\s+/).filter(Boolean) ?? [];
|
|
74
|
+
const metadata = turns.map((turn, idx) => ({
|
|
75
|
+
idx, role: turn.role, hits: contextMatchCount(turn.text, tokens), length: turn.text.length,
|
|
76
|
+
}));
|
|
77
|
+
const { ordered, hitSet, totalHitTurns } = contextIndices(metadata, grep, nTurns, around);
|
|
67
78
|
const out = [];
|
|
68
79
|
let used = 0;
|
|
69
80
|
for (const i of ordered) {
|
|
70
81
|
const t = turns[i];
|
|
71
82
|
if (!t)
|
|
72
83
|
continue;
|
|
73
|
-
|
|
74
|
-
const
|
|
75
|
-
if (text.length >
|
|
76
|
-
text = text.slice(0, cap) + `\n…[+${t.text.length - cap} chars]`;
|
|
77
|
-
if (used + text.length > maxChars && out.length > 0)
|
|
84
|
+
const plan = contextTextPlan(t.text.length, maxChars);
|
|
85
|
+
const text = t.text.slice(0, plan.take) + plan.suffix;
|
|
86
|
+
if (!text || used + text.length > maxChars)
|
|
78
87
|
break;
|
|
79
88
|
out.push({ idx: i, role: t.role, text, isHit: hitSet.has(i) });
|
|
80
89
|
used += text.length;
|
|
81
90
|
}
|
|
82
91
|
return { turns: out, totalHitTurns, budgetUsed: used };
|
|
83
92
|
}
|
|
93
|
+
function readCodexContext(s, grep, nTurns, around, maxChars, warnings) {
|
|
94
|
+
const tokens = grep?.toLowerCase().split(/\s+/).filter(Boolean) ?? [];
|
|
95
|
+
const metadata = [];
|
|
96
|
+
const { totalTurns, prefixLength } = visitCodexDialogue(s, (turn, idx) => {
|
|
97
|
+
metadata.push({ idx, role: turn.role, hits: contextMatchCount(turn.text, tokens), length: turn.text.length });
|
|
98
|
+
}, warnings);
|
|
99
|
+
metadata.sort((a, b) => a.idx - b.idx);
|
|
100
|
+
for (const turn of metadata)
|
|
101
|
+
turn.idx += prefixLength;
|
|
102
|
+
const { ordered, hitSet, totalHitTurns } = contextIndices(metadata, grep, nTurns, around);
|
|
103
|
+
const chosen = new Map();
|
|
104
|
+
let budgetUsed = 0;
|
|
105
|
+
for (const idx of ordered) {
|
|
106
|
+
const turn = metadata[idx];
|
|
107
|
+
if (!turn)
|
|
108
|
+
continue;
|
|
109
|
+
const plan = contextTextPlan(turn.length, maxChars);
|
|
110
|
+
const length = plan.take + plan.suffix.length;
|
|
111
|
+
if (!length || budgetUsed + length > maxChars)
|
|
112
|
+
break;
|
|
113
|
+
chosen.set(idx - prefixLength, { idx, ...plan });
|
|
114
|
+
budgetUsed += length;
|
|
115
|
+
}
|
|
116
|
+
const selected = new Map();
|
|
117
|
+
if (chosen.size > 0)
|
|
118
|
+
visitCodexDialogue(s, (turn, rawIndex) => {
|
|
119
|
+
const plan = chosen.get(rawIndex);
|
|
120
|
+
if (!plan)
|
|
121
|
+
return;
|
|
122
|
+
selected.set(plan.idx, {
|
|
123
|
+
idx: plan.idx, role: turn.role,
|
|
124
|
+
text: turn.text.slice(0, plan.take) + plan.suffix,
|
|
125
|
+
isHit: hitSet.has(plan.idx),
|
|
126
|
+
});
|
|
127
|
+
});
|
|
128
|
+
const turns = [...selected.values()].sort((a, b) => a.idx - b.idx);
|
|
129
|
+
return { turns, totalTurns, totalHitTurns, budgetUsed: turns.reduce((n, turn) => n + turn.text.length, 0) };
|
|
130
|
+
}
|
|
84
131
|
/** Drill into a single session: top-N hit turns plus surrounding context,
|
|
85
132
|
* char-budgeted. With no `grep`, returns the session opening. */
|
|
86
133
|
export function readMemContext(options) {
|
|
@@ -93,24 +140,26 @@ export function readMemContext(options) {
|
|
|
93
140
|
const nTurns = options.turns ?? 3;
|
|
94
141
|
const around = options.around ?? 1;
|
|
95
142
|
const maxChars = options.maxChars ?? 6000;
|
|
96
|
-
let
|
|
97
|
-
let mergedChildren = 0;
|
|
143
|
+
let kids = [];
|
|
98
144
|
if (options.includeChildren === true) {
|
|
99
145
|
const all = listAll({ ...f, cwd: undefined, limit: WIDE_LIMIT }, warnings);
|
|
100
146
|
const childIndex = buildChildIndex(all);
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
}
|
|
147
|
+
kids = childIndex.get(s.id) ?? [];
|
|
148
|
+
}
|
|
149
|
+
if (s.platform === "codex" && kids.length === 0) {
|
|
150
|
+
const selected = readCodexContext(s, grep, nTurns, around, maxChars, warnings);
|
|
151
|
+
return { session: s, query: grep, mergedChildren: 0, maxChars, warnings, ...selected };
|
|
106
152
|
}
|
|
153
|
+
let turns = extractDialogue(s, warnings);
|
|
154
|
+
for (const c of kids)
|
|
155
|
+
turns = [...turns, ...extractDialogue(c, warnings)];
|
|
107
156
|
const selected = selectContextTurns(turns, grep, nTurns, around, maxChars);
|
|
108
157
|
return {
|
|
109
158
|
session: s,
|
|
110
159
|
query: grep,
|
|
111
160
|
totalTurns: turns.length,
|
|
112
161
|
totalHitTurns: selected.totalHitTurns,
|
|
113
|
-
mergedChildren,
|
|
162
|
+
mergedChildren: kids.length,
|
|
114
163
|
budgetUsed: selected.budgetUsed,
|
|
115
164
|
maxChars,
|
|
116
165
|
turns: selected.turns,
|
package/dist/mem/context.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/mem/context.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,eAAe,EACf,eAAe,EACf,eAAe,EACf,OAAO,EACP,uBAAuB,EACvB,aAAa,EACb,UAAU,GACX,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/mem/context.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsonl.d.ts","sourceRoot":"","sources":["../../../src/mem/internal/jsonl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;
|
|
1
|
+
{"version":3,"file":"jsonl.d.ts","sourceRoot":"","sources":["../../../src/mem/internal/jsonl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAQH;;;;;;;;;;;;;GAaG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,OAAO,GAAG,IAAI,CAuD5E;AAED,yEAAyE;AACzE,wBAAgB,cAAc,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAO7D;AAED;uBACuB;AACvB,wBAAgB,WAAW,CAAC,CAAC,EAC3B,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,OAAO,EAC9B,QAAQ,SAAM,GACb,CAAC,GAAG,SAAS,CAYf;AAED;uEACuE;AACvE,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAM3D"}
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
* loose interface and read fields defensively.
|
|
11
11
|
*/
|
|
12
12
|
import * as fs from "node:fs";
|
|
13
|
+
import { StringDecoder } from "node:string_decoder";
|
|
13
14
|
const CHUNK = 256 * 1024;
|
|
14
15
|
const OPEN_BRACE = 0x7b; // '{'
|
|
15
16
|
/**
|
|
@@ -35,6 +36,7 @@ export function readJsonl(file, onLine) {
|
|
|
35
36
|
return;
|
|
36
37
|
}
|
|
37
38
|
const buf = Buffer.alloc(CHUNK);
|
|
39
|
+
const decoder = new StringDecoder("utf8");
|
|
38
40
|
let leftover = "";
|
|
39
41
|
try {
|
|
40
42
|
let stop = false;
|
|
@@ -42,7 +44,7 @@ export function readJsonl(file, onLine) {
|
|
|
42
44
|
const n = fs.readSync(fd, buf, 0, CHUNK, null);
|
|
43
45
|
if (n === 0)
|
|
44
46
|
break;
|
|
45
|
-
const chunk = leftover + buf.
|
|
47
|
+
const chunk = leftover + decoder.write(buf.subarray(0, n));
|
|
46
48
|
let from = 0;
|
|
47
49
|
while (true) {
|
|
48
50
|
const nl = chunk.indexOf("\n", from);
|
|
@@ -69,6 +71,8 @@ export function readJsonl(file, onLine) {
|
|
|
69
71
|
}
|
|
70
72
|
}
|
|
71
73
|
}
|
|
74
|
+
if (!stop)
|
|
75
|
+
leftover += decoder.end();
|
|
72
76
|
if (!stop && leftover) {
|
|
73
77
|
// File ended without a trailing newline — process the last partial line.
|
|
74
78
|
const line = leftover;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsonl.js","sourceRoot":"","sources":["../../../src/mem/internal/jsonl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"jsonl.js","sourceRoot":"","sources":["../../../src/mem/internal/jsonl.ts"],"names":[],"mappings":"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"}
|
package/dist/mem/phase.d.ts
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import type { BrainstormWindow, ParsedTaskPyCommand, TaskPyEvent } from "./types.js";
|
|
9
9
|
/**
|
|
10
|
-
* Find ALL `task.py create|start` invocations in a single Bash command string.
|
|
10
|
+
* Find ALL `task.py create|start|replan` invocations in a single Bash command string.
|
|
11
11
|
* A real Bash invocation can contain several (e.g.
|
|
12
12
|
* `SMOKE=$(task.py create …); task.py start "$SMOKE"`). Returned in source
|
|
13
13
|
* order; each entry's args are bounded to the next `task.py` invocation or
|
|
@@ -30,13 +30,13 @@ export declare function splitShellArgs(s: string): string[];
|
|
|
30
30
|
* date prefix is stripped so it matches a `--slug` on the paired `create`). */
|
|
31
31
|
export declare function slugFromTaskDir(p: string | undefined): string | undefined;
|
|
32
32
|
/**
|
|
33
|
-
* Pair `create` → `start` events into brainstorm windows.
|
|
33
|
+
* Pair `create`/`replan` → `start` events into brainstorm windows.
|
|
34
34
|
*
|
|
35
35
|
* Pairing strategy:
|
|
36
36
|
* 1. Slug match wins regardless of position.
|
|
37
|
-
* 2. FIFO fallback: remaining
|
|
37
|
+
* 2. FIFO fallback: remaining planning events pair with the next unmatched start
|
|
38
38
|
* appearing after them in event order.
|
|
39
|
-
* 3. Unmatched
|
|
39
|
+
* 3. Unmatched planning event → `[event, totalTurns)`.
|
|
40
40
|
* 4. Unmatched start → `[0, start)`.
|
|
41
41
|
*
|
|
42
42
|
* Windows are sorted by `startTurn` ascending for stable output ordering.
|
package/dist/mem/phase.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"phase.d.ts","sourceRoot":"","sources":["../../src/mem/phase.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,gBAAgB,EAChB,mBAAmB,EACnB,WAAW,EACZ,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,mBAAmB,EAAE,
|
|
1
|
+
{"version":3,"file":"phase.d.ts","sourceRoot":"","sources":["../../src/mem/phase.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,gBAAgB,EAChB,mBAAmB,EACnB,WAAW,EACZ,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,mBAAmB,EAAE,CAoCzE;AAED,+EAA+E;AAC/E,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI,CAG1E;AAqCD;;;iFAGiF;AACjF,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAmClD;AAED;;+EAE+E;AAC/E,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAOzE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,SAAS,WAAW,EAAE,EAC9B,UAAU,EAAE,MAAM,GACjB,gBAAgB,EAAE,CA4EpB"}
|