@theokit/agents 13.0.0-next.2 → 13.0.0-next.3
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/CHANGELOG.md +37 -0
- package/dist/session.d.ts +50 -15
- package/dist/session.js +78 -39
- package/dist/session.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,42 @@
|
|
|
1
1
|
# @theokit/agents
|
|
2
2
|
|
|
3
|
+
## 13.0.0-next.3
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 59d6dcc: A transcript nobody can read is listed without an id, and keeps its protection
|
|
8
|
+
|
|
9
|
+
`listSessions` fell back to the filename stem whenever the first record could not be read. Under
|
|
10
|
+
`@theokit/sdk` 5.x that stem is a one-way hash of the id, so the fallback did not return a degraded
|
|
11
|
+
id — it returned an identifier belonging to no session. Session GC keyed protection on it, so a
|
|
12
|
+
session someone had DECLARED protected lost its protection and was planned for deletion, while the
|
|
13
|
+
registry removal was called with the hash and left the real entry behind.
|
|
14
|
+
|
|
15
|
+
Protection now runs in the direction that has a function. `transcriptPath(root, cwd, id)` is total on
|
|
16
|
+
both majors and its inverse is not, so protection is keyed by transcript PATH and caller-supplied ids
|
|
17
|
+
are mapped forward onto paths. Whether a transcript can be read stops mattering to whether it is
|
|
18
|
+
protected.
|
|
19
|
+
|
|
20
|
+
Breaking, inside the unreleased 13.0.0 line:
|
|
21
|
+
|
|
22
|
+
- `SessionSummary.id` is `string | undefined`, alongside a new `idSource: 'transcript' | 'unavailable'`.
|
|
23
|
+
It is never derived from the filename.
|
|
24
|
+
- **`protectedTranscripts` is RENAMED to `protectedTranscriptPaths`, and the rename is the fix.** Its
|
|
25
|
+
keys changed from session ids to transcript paths while the signature stayed `Map<string, string>`,
|
|
26
|
+
so a consumer that mapped the keys forward through `transcriptPath` — correct when they were ids —
|
|
27
|
+
kept compiling and started double-mapping, leaving its protection array matching nothing. Measured
|
|
28
|
+
on a real consumer against this build: `deleteSession` collected a session holding a LIVE writer
|
|
29
|
+
lease. The old name is gone rather than aliased; a silent break that loses data is worse than a
|
|
30
|
+
loud one, and an alias would have preserved the silence. `transcriptOf(id, cwd, root)` maps forward
|
|
31
|
+
for callers that hold an id.
|
|
32
|
+
- `GCCandidate.id`, `GCKept.id` and `GCError.id` admit `undefined` for the same reason.
|
|
33
|
+
- `RunTranscriptGCResult` gains `orphaned` — transcripts collected whose session id could not be
|
|
34
|
+
read, by path. A separate list rather than a second meaning inside `removed`, which answers "which
|
|
35
|
+
sessions did I collect"; `theo sessions gc` reports both, and never prints a filename where an id
|
|
36
|
+
belongs.
|
|
37
|
+
|
|
38
|
+
Closes usetheokit/theokit#668.
|
|
39
|
+
|
|
3
40
|
## 13.0.0-next.2
|
|
4
41
|
|
|
5
42
|
### Minor Changes
|
package/dist/session.d.ts
CHANGED
|
@@ -89,7 +89,14 @@ declare class SessionInUseError extends TheokitAgentError {
|
|
|
89
89
|
}
|
|
90
90
|
/** One session as the lifecycle vocabulary sees it. */
|
|
91
91
|
interface SessionSummary {
|
|
92
|
-
|
|
92
|
+
/**
|
|
93
|
+
* The session id read from the transcript's first record, or `undefined` when the record could
|
|
94
|
+
* not be read. It is NEVER derived from the filename: on `@theokit/sdk` 5.x the name is a one-way
|
|
95
|
+
* hash of the id, so a name-derived value would name no session at all (usetheokit/theokit#668).
|
|
96
|
+
*/
|
|
97
|
+
readonly id: string | undefined;
|
|
98
|
+
/** Where {@link SessionSummary.id} came from — so a caller can tell absence from a value. */
|
|
99
|
+
readonly idSource: 'transcript' | 'unavailable';
|
|
93
100
|
/** Absolute path of the transcript file. */
|
|
94
101
|
readonly transcript: string;
|
|
95
102
|
/** Last modification, for recency ordering. */
|
|
@@ -111,7 +118,31 @@ declare function listSessions(cwd: string, root?: string): SessionSummary[];
|
|
|
111
118
|
* is far less useful than one reporting why each was skipped, and retention policy is exactly where
|
|
112
119
|
* an operator asks that question.
|
|
113
120
|
*/
|
|
114
|
-
|
|
121
|
+
/**
|
|
122
|
+
* RENAMED from `protectedTranscripts` by usetheokit/theokit#668, and the rename IS the fix for the
|
|
123
|
+
* second half of that issue.
|
|
124
|
+
*
|
|
125
|
+
* The keys changed from session ids to transcript paths, and the signature did not:
|
|
126
|
+
* `Map<string, string>` before and `Map<string, string>` after. A consumer that mapped the keys
|
|
127
|
+
* forward through `transcriptPath` — the correct thing to do when they were ids — went on compiling
|
|
128
|
+
* and started double-mapping, so its protection array matched nothing and its delete guard passed.
|
|
129
|
+
* Measured on TheoCode against this very build: `deleteSession` collected a session with a LIVE
|
|
130
|
+
* writer lease, and no type could have caught it.
|
|
131
|
+
*
|
|
132
|
+
* A silent break that loses data is worse than a loud one. The old name is GONE rather than aliased,
|
|
133
|
+
* so a caller finds out at compile time instead of at delete time. Aliasing it would have preserved
|
|
134
|
+
* exactly the silence this rename exists to remove.
|
|
135
|
+
*/
|
|
136
|
+
declare function protectedTranscriptPaths(cwd: string, root?: string): Map<string, string>;
|
|
137
|
+
/**
|
|
138
|
+
* The transcript a session id would occupy, for keying protection.
|
|
139
|
+
*
|
|
140
|
+
* Protection runs id → PATH and never the reverse, because that is the direction with a function:
|
|
141
|
+
* `transcriptPath` is total on both majors, while 5.x's naming is a one-way hash. Keying on the id
|
|
142
|
+
* meant a transcript nobody could read could not be matched against anything, so a session someone
|
|
143
|
+
* had DECLARED protected became collectable (usetheokit/theokit#668).
|
|
144
|
+
*/
|
|
145
|
+
declare function transcriptOf(id: string, cwd: string, root?: string): string;
|
|
115
146
|
/** What `deleteSession` did, per store. */
|
|
116
147
|
interface DeleteSessionResult {
|
|
117
148
|
/** Whether a registry entry was removed. */
|
|
@@ -278,13 +309,15 @@ declare class GCFloorError extends TheokitAgentError {
|
|
|
278
309
|
}
|
|
279
310
|
/** A transcript the policy would collect. */
|
|
280
311
|
interface GCCandidate {
|
|
281
|
-
|
|
312
|
+
/** `undefined` when the transcript could not be read — see `SessionSummary.id` (#668). */
|
|
313
|
+
readonly id: string | undefined;
|
|
282
314
|
readonly transcript: string;
|
|
283
315
|
readonly modifiedAt: Date;
|
|
284
316
|
}
|
|
285
317
|
/** A transcript the policy keeps, and why. */
|
|
286
318
|
interface GCKept {
|
|
287
|
-
|
|
319
|
+
/** `undefined` when the transcript could not be read — see `SessionSummary.id` (#668). */
|
|
320
|
+
readonly id: string | undefined;
|
|
288
321
|
/** Human-readable protection reason — recency, policy, lease, or unreadable age. */
|
|
289
322
|
readonly reason: string;
|
|
290
323
|
}
|
|
@@ -300,7 +333,7 @@ interface TranscriptGCOptions {
|
|
|
300
333
|
/**
|
|
301
334
|
* Extra sessions this framework cannot see are live.
|
|
302
335
|
*
|
|
303
|
-
* `
|
|
336
|
+
* `protectedTranscriptPaths` derives protection from THIS framework's pointer convention. A consumer
|
|
304
337
|
* whose live-session registry lives elsewhere gets an INERT guard — silently, inside a guard that
|
|
305
338
|
* deletes user transcripts. That is the shape of the consumer's own PS-002: declared, wired, never
|
|
306
339
|
* called, and therefore reading as protection while protecting nothing.
|
|
@@ -324,24 +357,26 @@ interface TranscriptGCPlan {
|
|
|
324
357
|
declare function planTranscriptGC(options: TranscriptGCOptions): TranscriptGCPlan;
|
|
325
358
|
/** What one candidate's removal did, or why it did not. */
|
|
326
359
|
interface GCError {
|
|
327
|
-
|
|
360
|
+
/** `undefined` when the failure IS that no id could be read (#668). */
|
|
361
|
+
readonly id: string | undefined;
|
|
328
362
|
readonly message: string;
|
|
329
363
|
}
|
|
330
364
|
interface RunTranscriptGCResult {
|
|
331
365
|
readonly dryRun: boolean;
|
|
332
366
|
/** Ids that were (or, in a dry run, would be) removed. */
|
|
333
367
|
readonly removed: readonly string[];
|
|
368
|
+
/**
|
|
369
|
+
* Transcripts collected whose session id could NOT be read, by path.
|
|
370
|
+
*
|
|
371
|
+
* A separate list rather than a second meaning inside `removed`: that one answers "which sessions
|
|
372
|
+
* did I collect", this one answers "which files did I collect that I could not name". Folding them
|
|
373
|
+
* together would put two kinds of string in one array and make every consumer guess which it held
|
|
374
|
+
* (usetheokit/theokit#668).
|
|
375
|
+
*/
|
|
376
|
+
readonly orphaned: readonly string[];
|
|
334
377
|
/** One entry per candidate that failed — the rest still ran. */
|
|
335
378
|
readonly errors: readonly GCError[];
|
|
336
379
|
}
|
|
337
|
-
/**
|
|
338
|
-
* Execute a plan. `apply: false` reports what would happen and changes nothing.
|
|
339
|
-
*
|
|
340
|
-
* Errors accumulate PER CANDIDATE (fail-open): one undeletable file must not leave the rest of the
|
|
341
|
-
* disk uncollected, and the operator must still learn which one failed. `ENOENT` counts as success —
|
|
342
|
-
* absent is the desired end state, and reporting it as failure would make the second run of an
|
|
343
|
-
* interrupted GC look broken.
|
|
344
|
-
*/
|
|
345
380
|
declare function runTranscriptGC(plan: TranscriptGCPlan, options: {
|
|
346
381
|
readonly apply: boolean;
|
|
347
382
|
/** Same additive, fail-closed contract as on the plan — see `TranscriptGCOptions.protectedIds`. */
|
|
@@ -577,4 +612,4 @@ declare class LivenessBudgetError extends TheokitAgentError {
|
|
|
577
612
|
*/
|
|
578
613
|
declare function classifyProjects(encoded: readonly string[], opts: ClassifyProjectsOptions): Map<string, LivenessVerdict>;
|
|
579
614
|
|
|
580
|
-
export { type ClassifyProjectsOptions, type DeleteSessionOptions, type DeleteSessionResult, type FsSeam, type GCCandidate, type GCError, GCFloorError, type GCKept, GCProtectionUnavailableError, type Liveness, LivenessBudgetError, type LivenessVerdict, type ReadThreadHistoryOptions, type RunTranscriptGCResult, SessionInUseError, SessionRegistryRemoverError, type SessionSummary, type ThreadHistory, type ThreadHistoryState, type TranscriptGCOptions, type TranscriptGCPlan, classifyProjects, deleteSession, forkBeforeUserTurn, listSessions, loadOrCreateSessionId, persistSessionId, planTranscriptGC, projectDirFor, projectDirMatches, projectsRoot,
|
|
615
|
+
export { type ClassifyProjectsOptions, type DeleteSessionOptions, type DeleteSessionResult, type FsSeam, type GCCandidate, type GCError, GCFloorError, type GCKept, GCProtectionUnavailableError, type Liveness, LivenessBudgetError, type LivenessVerdict, type ReadThreadHistoryOptions, type RunTranscriptGCResult, SessionInUseError, SessionRegistryRemoverError, type SessionSummary, type ThreadHistory, type ThreadHistoryState, type TranscriptGCOptions, type TranscriptGCPlan, classifyProjects, deleteSession, forkBeforeUserTurn, listSessions, loadOrCreateSessionId, persistSessionId, planTranscriptGC, projectDirFor, projectDirMatches, projectsRoot, protectedTranscriptPaths, readThreadHistory, recordProjectDir, resolveProjectDir, runTranscriptGC, sessionPointerPath, transcriptOf, transcriptRootHint };
|
package/dist/session.js
CHANGED
|
@@ -161,8 +161,10 @@ function listSessions(cwd, root = transcriptRoot3()) {
|
|
|
161
161
|
}
|
|
162
162
|
const kind = classifySessionArtifact(entry, isDirectory);
|
|
163
163
|
if (kind !== "transcript") continue;
|
|
164
|
+
const id = sessionIdOf(path);
|
|
164
165
|
found.push({
|
|
165
|
-
id
|
|
166
|
+
id,
|
|
167
|
+
idSource: id === void 0 ? "unavailable" : "transcript",
|
|
166
168
|
transcript: path,
|
|
167
169
|
modifiedAt
|
|
168
170
|
});
|
|
@@ -170,8 +172,7 @@ function listSessions(cwd, root = transcriptRoot3()) {
|
|
|
170
172
|
return found.sort((a, b) => b.modifiedAt.getTime() - a.modifiedAt.getTime());
|
|
171
173
|
}
|
|
172
174
|
__name(listSessions, "listSessions");
|
|
173
|
-
function sessionIdOf(path
|
|
174
|
-
const stem = entry.replace(/\.jsonl$/, "");
|
|
175
|
+
function sessionIdOf(path) {
|
|
175
176
|
let fd;
|
|
176
177
|
try {
|
|
177
178
|
fd = openSync(path, "r");
|
|
@@ -188,25 +189,31 @@ function sessionIdOf(path, entry) {
|
|
|
188
189
|
} finally {
|
|
189
190
|
if (fd !== void 0) closeSync(fd);
|
|
190
191
|
}
|
|
191
|
-
return
|
|
192
|
+
return void 0;
|
|
192
193
|
}
|
|
193
194
|
__name(sessionIdOf, "sessionIdOf");
|
|
194
195
|
var FIRST_RECORD_BYTES = 64 * 1024;
|
|
195
|
-
function
|
|
196
|
+
function protectedTranscriptPaths(cwd, root = transcriptRoot3()) {
|
|
196
197
|
const protectedBy = /* @__PURE__ */ new Map();
|
|
197
198
|
const sessions = listSessions(cwd, root);
|
|
198
199
|
const pointer = readPointer(cwd, root);
|
|
199
|
-
if (pointer !== void 0)
|
|
200
|
-
|
|
201
|
-
|
|
200
|
+
if (pointer !== void 0) {
|
|
201
|
+
protectedBy.set(transcriptPath(root, cwd, pointer), "resumable session pointer");
|
|
202
|
+
}
|
|
203
|
+
if (sessions.length > 0 && !protectedBy.has(sessions[0].transcript)) {
|
|
204
|
+
protectedBy.set(sessions[0].transcript, "most recent session");
|
|
202
205
|
}
|
|
203
206
|
for (const session of sessions) {
|
|
204
207
|
const hasWriter = sessionHasWriter(session.transcript);
|
|
205
|
-
if (hasWriter) protectedBy.set(session.
|
|
208
|
+
if (hasWriter) protectedBy.set(session.transcript, "active writer lease");
|
|
206
209
|
}
|
|
207
210
|
return protectedBy;
|
|
208
211
|
}
|
|
209
|
-
__name(
|
|
212
|
+
__name(protectedTranscriptPaths, "protectedTranscriptPaths");
|
|
213
|
+
function transcriptOf(id, cwd, root = transcriptRoot3()) {
|
|
214
|
+
return transcriptPath(root, cwd, id);
|
|
215
|
+
}
|
|
216
|
+
__name(transcriptOf, "transcriptOf");
|
|
210
217
|
function readPointer(cwd, root) {
|
|
211
218
|
try {
|
|
212
219
|
const id = readFileSync3(sessionPointerPath(cwd, root), "utf8").trim();
|
|
@@ -219,7 +226,7 @@ __name(readPointer, "readPointer");
|
|
|
219
226
|
async function deleteSession(sessionId, options) {
|
|
220
227
|
const root = options.root ?? transcriptRoot3();
|
|
221
228
|
if (options.force !== true) {
|
|
222
|
-
const reason =
|
|
229
|
+
const reason = protectedTranscriptPaths(options.cwd, root).get(transcriptOf(sessionId, options.cwd, root));
|
|
223
230
|
if (reason !== void 0) throw new SessionInUseError(sessionId, reason);
|
|
224
231
|
}
|
|
225
232
|
let registryRemoved = false;
|
|
@@ -237,7 +244,7 @@ async function deleteSession(sessionId, options) {
|
|
|
237
244
|
}
|
|
238
245
|
}
|
|
239
246
|
if (options.force !== true) {
|
|
240
|
-
const nowProtected =
|
|
247
|
+
const nowProtected = protectedTranscriptPaths(options.cwd, root).get(transcriptOf(sessionId, options.cwd, root));
|
|
241
248
|
if (nowProtected !== void 0) {
|
|
242
249
|
throw new SessionInUseError(sessionId, nowProtected, registryRemoved);
|
|
243
250
|
}
|
|
@@ -273,7 +280,7 @@ function forkBeforeUserTurn(srcId, newId, nth, options) {
|
|
|
273
280
|
forkTranscript(src, dst, {
|
|
274
281
|
beforeRecordIndex: selected.index,
|
|
275
282
|
liveSessionPaths: [
|
|
276
|
-
...
|
|
283
|
+
...protectedTranscriptPaths(options.cwd, root).keys()
|
|
277
284
|
].map((id) => transcriptPath(root, options.cwd, id))
|
|
278
285
|
});
|
|
279
286
|
return {
|
|
@@ -319,7 +326,7 @@ __name(reachableUserTurns, "reachableUserTurns");
|
|
|
319
326
|
// src/session/gc/transcript-gc.ts
|
|
320
327
|
import { rmSync as rmSync2 } from "fs";
|
|
321
328
|
import { TheokitAgentError as TheokitAgentError3 } from "@theokit/sdk/errors";
|
|
322
|
-
import {
|
|
329
|
+
import { transcriptRoot as transcriptRoot4 } from "@theokit/sdk/persistence";
|
|
323
330
|
var FLOOR = {
|
|
324
331
|
keepLast: 1,
|
|
325
332
|
maxAgeDays: 1
|
|
@@ -349,7 +356,7 @@ var GCFloorError = class extends TheokitAgentError3 {
|
|
|
349
356
|
super(`transcript GC: \`${field}\` must be at least ${String(FLOOR[field])}, received ${String(received)}. This is refused rather than clamped: a policy silently replaced by a different one is a policy nobody reviewed.`), this.field = field, this.received = received;
|
|
350
357
|
}
|
|
351
358
|
};
|
|
352
|
-
function resolveProtection(builtin, provider) {
|
|
359
|
+
function resolveProtection(builtin, provider, cwd, root) {
|
|
353
360
|
if (provider === void 0) return builtin;
|
|
354
361
|
let extra;
|
|
355
362
|
try {
|
|
@@ -357,8 +364,9 @@ function resolveProtection(builtin, provider) {
|
|
|
357
364
|
} catch (cause) {
|
|
358
365
|
throw new GCProtectionUnavailableError(cause);
|
|
359
366
|
}
|
|
360
|
-
const union = new Map(
|
|
361
|
-
for (const [id, reason] of
|
|
367
|
+
const union = /* @__PURE__ */ new Map();
|
|
368
|
+
for (const [id, reason] of extra) union.set(transcriptOf(id, cwd, root), reason);
|
|
369
|
+
for (const [path, reason] of builtin) union.set(path, reason);
|
|
362
370
|
return union;
|
|
363
371
|
}
|
|
364
372
|
__name(resolveProtection, "resolveProtection");
|
|
@@ -373,11 +381,11 @@ function planTranscriptGC(options) {
|
|
|
373
381
|
const now = options.now ?? Date.now();
|
|
374
382
|
const cutoff = now - options.maxAgeDays * 864e5;
|
|
375
383
|
const sessions = listSessions(options.cwd, root);
|
|
376
|
-
const protectedBy = resolveProtection(
|
|
384
|
+
const protectedBy = resolveProtection(protectedTranscriptPaths(options.cwd, root), options.protectedIds, options.cwd, root);
|
|
377
385
|
const candidates = [];
|
|
378
386
|
const kept = [];
|
|
379
387
|
for (const [index, session] of sessions.entries()) {
|
|
380
|
-
const protection = protectedBy.get(session.
|
|
388
|
+
const protection = protectedBy.get(session.transcript);
|
|
381
389
|
if (protection !== void 0) {
|
|
382
390
|
kept.push({
|
|
383
391
|
id: session.id,
|
|
@@ -421,33 +429,62 @@ function planTranscriptGC(options) {
|
|
|
421
429
|
};
|
|
422
430
|
}
|
|
423
431
|
__name(planTranscriptGC, "planTranscriptGC");
|
|
432
|
+
async function releaseFromRegistry(candidate, options) {
|
|
433
|
+
if (candidate.id === void 0) {
|
|
434
|
+
return {
|
|
435
|
+
note: {
|
|
436
|
+
id: void 0,
|
|
437
|
+
message: UNNAMEABLE_COLLECTION
|
|
438
|
+
},
|
|
439
|
+
unlink: true
|
|
440
|
+
};
|
|
441
|
+
}
|
|
442
|
+
if (options.removeFromRegistry === void 0) return {
|
|
443
|
+
unlink: true
|
|
444
|
+
};
|
|
445
|
+
try {
|
|
446
|
+
await awaitRegistryRemoval(options.removeFromRegistry(candidate.id), candidate.id, options.registryTimeoutMs);
|
|
447
|
+
return {
|
|
448
|
+
unlink: true
|
|
449
|
+
};
|
|
450
|
+
} catch (error) {
|
|
451
|
+
return {
|
|
452
|
+
note: {
|
|
453
|
+
id: candidate.id,
|
|
454
|
+
message: `registry removal failed, transcript kept: ${error.message}`
|
|
455
|
+
},
|
|
456
|
+
unlink: false
|
|
457
|
+
};
|
|
458
|
+
}
|
|
459
|
+
}
|
|
460
|
+
__name(releaseFromRegistry, "releaseFromRegistry");
|
|
461
|
+
var UNNAMEABLE_COLLECTION = "transcript collected without a registry removal: its session id could not be read, and a fabricated one would name no session";
|
|
462
|
+
function recordRemoval(candidate, removed, orphaned) {
|
|
463
|
+
if (candidate.id === void 0) orphaned.push(candidate.transcript);
|
|
464
|
+
else removed.push(candidate.id);
|
|
465
|
+
}
|
|
466
|
+
__name(recordRemoval, "recordRemoval");
|
|
424
467
|
async function runTranscriptGC(plan, options) {
|
|
425
468
|
const removed = [];
|
|
469
|
+
const orphaned = [];
|
|
426
470
|
const errors = [];
|
|
427
|
-
const protectedNow = options.apply ? resolveProtection(
|
|
471
|
+
const protectedNow = options.apply ? resolveProtection(protectedTranscriptPaths(plan.cwd, plan.root), options.protectedIds, plan.cwd, plan.root) : /* @__PURE__ */ new Map();
|
|
428
472
|
for (const candidate of plan.candidates) {
|
|
429
|
-
if (protectedNow.has(candidate.
|
|
473
|
+
if (protectedNow.has(candidate.transcript)) continue;
|
|
430
474
|
if (!options.apply) {
|
|
431
|
-
|
|
475
|
+
if (candidate.id === void 0) orphaned.push(candidate.transcript);
|
|
476
|
+
else removed.push(candidate.id);
|
|
432
477
|
continue;
|
|
433
478
|
}
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
} catch (error) {
|
|
438
|
-
errors.push({
|
|
439
|
-
id: candidate.id,
|
|
440
|
-
message: `registry removal failed, transcript kept: ${error.message}`
|
|
441
|
-
});
|
|
442
|
-
continue;
|
|
443
|
-
}
|
|
444
|
-
}
|
|
479
|
+
const registry = await releaseFromRegistry(candidate, options);
|
|
480
|
+
if (registry.note !== void 0) errors.push(registry.note);
|
|
481
|
+
if (!registry.unlink) continue;
|
|
445
482
|
try {
|
|
446
|
-
rmSync2(
|
|
447
|
-
|
|
483
|
+
rmSync2(candidate.transcript);
|
|
484
|
+
recordRemoval(candidate, removed, orphaned);
|
|
448
485
|
} catch (error) {
|
|
449
486
|
if (error.code === "ENOENT") {
|
|
450
|
-
|
|
487
|
+
recordRemoval(candidate, removed, orphaned);
|
|
451
488
|
continue;
|
|
452
489
|
}
|
|
453
490
|
errors.push({
|
|
@@ -459,6 +496,7 @@ async function runTranscriptGC(plan, options) {
|
|
|
459
496
|
return {
|
|
460
497
|
dryRun: !options.apply,
|
|
461
498
|
removed,
|
|
499
|
+
orphaned,
|
|
462
500
|
errors
|
|
463
501
|
};
|
|
464
502
|
}
|
|
@@ -483,13 +521,13 @@ function transcriptRootHint(found, previousRoot, env = process.env) {
|
|
|
483
521
|
__name(transcriptRootHint, "transcriptRootHint");
|
|
484
522
|
|
|
485
523
|
// src/session/thread-history.ts
|
|
486
|
-
import { loadJsonl as loadJsonl2, transcriptPath as
|
|
524
|
+
import { loadJsonl as loadJsonl2, transcriptPath as transcriptPath2, transcriptRoot as transcriptRoot5 } from "@theokit/sdk/persistence";
|
|
487
525
|
var ABSENT = {
|
|
488
526
|
state: "absent",
|
|
489
527
|
messages: []
|
|
490
528
|
};
|
|
491
529
|
function readThreadHistory(sessionId, options) {
|
|
492
|
-
const path =
|
|
530
|
+
const path = transcriptPath2(options.root ?? transcriptRoot5(), options.cwd, sessionId);
|
|
493
531
|
try {
|
|
494
532
|
return {
|
|
495
533
|
state: "present",
|
|
@@ -708,12 +746,13 @@ export {
|
|
|
708
746
|
projectDirFor,
|
|
709
747
|
projectDirMatches,
|
|
710
748
|
projectsRoot,
|
|
711
|
-
|
|
749
|
+
protectedTranscriptPaths,
|
|
712
750
|
readThreadHistory,
|
|
713
751
|
recordProjectDir,
|
|
714
752
|
resolveProjectDir,
|
|
715
753
|
runTranscriptGC,
|
|
716
754
|
sessionPointerPath,
|
|
755
|
+
transcriptOf,
|
|
717
756
|
transcriptRootHint
|
|
718
757
|
};
|
|
719
758
|
//# sourceMappingURL=session.js.map
|
package/dist/session.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/session/session-lifecycle.ts","../src/session/gc/registry-remover.ts","../src/session/project-index.ts","../src/session/session-pointer.ts","../src/session/gc/transcript-gc.ts","../src/session/transcript-root-hint.ts","../src/session/thread-history.ts","../src/session/liveness-oracle.ts"],"mappings":"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","names":["closeSync","openSync","readFileSync","readdirSync","readSync","rmSync","statSync","join","TheokitAgentError","classifySessionArtifact","forkTranscript","loadJsonl","sessionHasWriter","transcriptPath","transcriptRoot","TheokitAgentError","SessionRegistryRemoverError","TheokitAgentError","name","sessionId","timeoutMs","String","DEFAULT_REGISTRY_TIMEOUT_MS","isThenable","value","then","awaitRegistryRemoval","outcome","Number","isFinite","timer","Promise","race","_resolve","reject","setTimeout","undefined","clearTimeout","readFileSync","writeFileSync","join","encodeProjectDir","transcriptRoot","CWD_SIDECAR","projectsRoot","root","transcriptRoot","join","projectDirFor","cwd","encodeProjectDir","recordProjectDir","sidecar","ensureSecureDir","writeFileSync","resolveProjectDir","encodedName","raw","readFileSync","trim","length","undefined","projectDirMatches","readFileSync","join","atomicWriteText","transcriptRoot","POINTER","sessionPointerPath","cwd","root","transcriptRoot","join","projectDirFor","loadOrCreateSessionId","mintId","existing","readFileSync","trim","length","sessionId","resumed","persistSessionId","target","ensureSecureDir","atomicWriteText","persisted","SessionInUseError","TheokitAgentError","name","sessionId","reason","registryRemoved","listSessions","cwd","root","transcriptRoot","dir","projectDirFor","entries","readdirSync","found","entry","path","join","isDirectory","modifiedAt","stats","statSync","mtime","kind","classifySessionArtifact","push","id","sessionIdOf","transcript","sort","a","b","getTime","stem","replace","fd","openSync","buffer","Buffer","alloc","FIRST_RECORD_BYTES","read","readSync","newline","indexOf","end","first","JSON","parse","toString","length","undefined","closeSync","protectedTranscripts","protectedBy","Map","sessions","pointer","readPointer","set","has","session","hasWriter","sessionHasWriter","readFileSync","sessionPointerPath","trim","deleteSession","options","force","get","registryError","removeFromRegistry","outcome","awaitRegistryRemoval","registryTimeoutMs","error","transcriptRemoved","nowProtected","rmSync","transcriptPath","forkBeforeUserTurn","srcId","newId","nth","Number","isInteger","String","src","dst","turns","reachableUserTurns","selected","forkTranscript","beforeRecordIndex","index","liveSessionPaths","keys","map","recordIndex","selectedText","text","GOAL_CONTINUATION_MARKER","textOfRecord","record","message","content","filter","block","type","isGenuineUserTurn","startsWith","records","loadJsonl","floor","i","subtype","rmSync","TheokitAgentError","transcriptPath","transcriptRoot","FLOOR","keepLast","maxAgeDays","GCProtectionUnavailableError","TheokitAgentError","name","reason","Error","message","String","code","isRetryable","cause","GCFloorError","field","received","resolveProtection","builtin","provider","undefined","extra","union","Map","id","set","planTranscriptGC","options","Number","isFinite","root","transcriptRoot","now","Date","cutoff","sessions","listSessions","cwd","protectedBy","protectedTranscripts","protectedIds","candidates","kept","index","session","entries","protection","get","push","age","modifiedAt","getTime","isNaN","transcript","runTranscriptGC","plan","removed","errors","protectedNow","apply","candidate","has","removeFromRegistry","awaitRegistryRemoval","registryTimeoutMs","error","rmSync","transcriptPath","dryRun","readdirSync","transcriptRootHint","found","previousRoot","env","process","undefined","current","THEOKIT_HOME","trim","length","projects","readdirSync","projectsRoot","String","loadJsonl","transcriptPath","transcriptRoot","ABSENT","state","messages","readThreadHistory","sessionId","options","path","transcriptPath","root","transcriptRoot","cwd","loadJsonl","err","isNotFound","reason","messageOf","code","Error","message","String","TheokitAgentError","DEFAULT_TRANSCRIPT_SAMPLES","encodeProjectDir","cwd","replace","LivenessBudgetError","TheokitAgentError","budget","String","assertUsableBudget","Number","isInteger","verdictFromRecordedCwds","cwds","probe","budgetLeft","unprobeable","at","error","found","liveness","reason","undefined","join","classifyProjects","encoded","opts","out","Map","remaining","path","answer","fs","exists","Error","message","recordedCwd","name","dir","projectsRoot","entries","listEntries","kind","samples","transcriptSamples","file","filter","f","endsWith","slice","record","JSON","parse","firstLine","length","includes","push","candidates","enumerationError","enumerate","candidatePaths","searchPool","pool","seen","Set","candidate","has","add","hit","set","recorded"]}
|
|
1
|
+
{"version":3,"sources":["../src/session/session-lifecycle.ts","../src/session/gc/registry-remover.ts","../src/session/project-index.ts","../src/session/session-pointer.ts","../src/session/gc/transcript-gc.ts","../src/session/transcript-root-hint.ts","../src/session/thread-history.ts","../src/session/liveness-oracle.ts"],"mappings":";;;;;;;;AAKA,SAASA,WAAWC,UAAUC,gBAAAA,eAAcC,aAAaC,UAAUC,QAAQC,gBAAgB;AAC3F,SAASC,QAAAA,aAAY;AAErB,SAASC,qBAAAA,0BAAyB;AAClC,SACEC,yBACAC,gBACAC,WACAC,kBACAC,gBACAC,kBAAAA,uBACK;;;ACEP,SAASC,yBAAyB;AAQ3B,IAAMC,8BAAN,cAA0CC,kBAAAA;EA1BjD,OA0BiDA;;;EAC7BC,OAAO;EAChBC;EAET,YAAYA,WAAmBC,WAAmB;AAChD,UACE,uDAAuDD,SAAAA,yCACpCE,OAAOD,SAAAA,CAAAA,8MAEqB;AAEjD,SAAKD,YAAYA;EACnB;AACF;AAeO,IAAMG,8BAA8B;AAE3C,SAASC,WAAWC,OAAc;AAChC,SAAO,OAAQA,OAAuCC,SAAS;AACjE;AAFSF;AAmBT,eAAsBG,qBACpBC,SACAR,WACAC,YAAgCE,6BAA2B;AAE3D,MAAI,CAACC,WAAWI,OAAAA,KAAY,CAACC,OAAOC,SAAST,SAAAA,EAAY,QAAOO;AAChE,MAAIG;AACJ,MAAI;AACF,WAAO,MAAMC,QAAQC,KAAK;MACxBL;MACA,IAAII,QAAe,CAACE,UAAUC,WAAAA;AAC5BJ,gBAAQK,WAAW,MAAA;AACjBD,iBAAO,IAAIlB,4BAA4BG,WAAWC,SAAAA,CAAAA;QACpD,GAAGA,SAAAA;MACL,CAAA;KACD;EACH,UAAA;AACE,QAAIU,UAAUM,OAAWC,cAAaP,KAAAA;EACxC;AACF;AAnBsBJ;;;ACtEtB,SAASY,cAAcC,qBAAqB;AAC5C,SAASC,YAAY;AAErB,SAASC,kBAAkBC,sBAAsB;AAiCjD,IAAMC,cAAc;AAgBb,SAASC,aAAaC,OAAeC,eAAAA,GAAgB;AAC1D,SAAOC,KAAKF,MAAM,UAAA;AACpB;AAFgBD;AAIT,SAASI,cAAcC,KAAaJ,OAAeC,eAAAA,GAAgB;AACxE,SAAOC,KAAKH,aAAaC,IAAAA,GAAOK,iBAAiBD,GAAAA,CAAAA;AACnD;AAFgBD;AAUT,SAASG,iBAAiBF,KAAaJ,OAAeC,eAAAA,GAAgB;AAC3E,QAAMM,UAAUL,KAAKC,cAAcC,KAAKJ,IAAAA,GAAOF,WAAAA;AAC/C,MAAI;AAQFU,oBAAgBD,OAAAA;AAChBE,kBAAcF,SAAS,GAAGH,GAAAA;GAAS,MAAA;EACrC,QAAQ;EAGR;AACF;AAhBgBE;AAyBT,SAASI,kBACdC,aACAX,OAAeC,eAAAA,GAAgB;AAE/B,MAAI;AACF,UAAMW,MAAMC,aAAaX,KAAKH,aAAaC,IAAAA,GAAOW,aAAab,WAAAA,GAAc,MAAA;AAC7E,UAAMM,MAAMQ,IAAIE,KAAI;AACpB,WAAOV,IAAIW,SAAS,IAAIX,MAAMY;EAChC,QAAQ;AACN,WAAOA;EACT;AACF;AAXgBN;AAqBT,SAASO,kBAAkBN,aAAqBP,KAAW;AAChE,SAAOC,iBAAiBD,GAAAA,MAASO;AACnC;AAFgBM;;;AChHhB,SAASC,gBAAAA,qBAAoB;AAC7B,SAASC,QAAAA,aAAY;AAErB,SAASC,iBAAiBC,kBAAAA,uBAAsB;AA2BhD,IAAMC,UAAU;AAGT,SAASC,mBAAmBC,KAAaC,OAAeC,gBAAAA,GAAgB;AAC7E,SAAOC,MAAKC,cAAcJ,KAAKC,IAAAA,GAAOH,OAAAA;AACxC;AAFgBC;AAeT,SAASM,sBACdL,KACAM,QACAL,OAAeC,gBAAAA,GAAgB;AAE/B,MAAI;AACF,UAAMK,WAAWC,cAAaT,mBAAmBC,KAAKC,IAAAA,GAAO,MAAA,EAAQQ,KAAI;AACzE,QAAIF,SAASG,SAAS,EAAG,QAAO;MAAEC,WAAWJ;MAAUK,SAAS;IAAK;EACvE,QAAQ;EAER;AACA,SAAO;IAAED,WAAWL,OAAAA;IAAUM,SAAS;EAAM;AAC/C;AAZgBP;AAiChB,eAAsBQ,iBACpBb,KACAW,WACAV,OAAeC,gBAAAA,GAAgB;AAE/B,QAAMY,SAASf,mBAAmBC,KAAKC,IAAAA;AACvC,MAAI;AAMFc,oBAAgBD,MAAAA;AAIhB,UAAOE,gBAA+DF,QAAQ,GAAGH,SAAAA;CAAa;AAC9F,WAAO;MAAEM,WAAW;IAAK;EAC3B,QAAQ;AACN,WAAO;MAAEA,WAAW;IAAM;EAC5B;AACF;AArBsBJ;;;AH7Bf,IAAMK,oBAAN,cAAgCC,mBAAAA;EAzDvC,OAyDuCA;;;;;;EACnBC,OAAO;EAEzB,YACWC,WAEAC,QASAC,kBAAkB,OAC3B;AACA,UACE,YAAYF,SAAAA,mBAA4BC,MAAAA,0HAErCC,kBACG,wHAEA,GAAC,GAAA,KAnBAF,YAAAA,WAAAA,KAEAC,SAAAA,QAAAA,KASAC,kBAAAA;EAUX;AACF;AAyBO,SAASC,aAAaC,KAAaC,OAAeC,gBAAAA,GAAgB;AACvE,QAAMC,MAAMC,cAAcJ,KAAKC,IAAAA;AAC/B,MAAII;AACJ,MAAI;AACFA,cAAUC,YAAYH,GAAAA;EACxB,QAAQ;AACN,WAAO,CAAA;EACT;AAEA,QAAMI,QAA0B,CAAA;AAChC,aAAWC,SAASH,SAAS;AAC3B,UAAMI,OAAOC,MAAKP,KAAKK,KAAAA;AACvB,QAAIG;AACJ,QAAIC;AACJ,QAAI;AACF,YAAMC,QAAQC,SAASL,IAAAA;AACvBE,oBAAcE,MAAMF,YAAW;AAC/BC,mBAAaC,MAAME;IACrB,QAAQ;AACN;IACF;AAWA,UAAMC,OAAQC,wBACZT,OACAG,WAAAA;AAEF,QAAIK,SAAS,aAAc;AAC3B,UAAME,KAAKC,YAAYV,IAAAA;AACvBF,UAAMa,KAAK;MACTF;MACAG,UAAUH,OAAOI,SAAY,gBAAgB;MAC7CC,YAAYd;MACZG;IACF,CAAA;EACF;AACA,SAAOL,MAAMiB,KAAK,CAACC,GAAGC,MAAMA,EAAEd,WAAWe,QAAO,IAAKF,EAAEb,WAAWe,QAAO,CAAA;AAC3E;AA7CgB5B;AAoEhB,SAASoB,YAAYV,MAAY;AAC/B,MAAImB;AACJ,MAAI;AACFA,SAAKC,SAASpB,MAAM,GAAA;AACpB,UAAMqB,SAASC,OAAOC,MAAMC,kBAAAA;AAC5B,UAAMC,OAAOC,SAASP,IAAIE,QAAQ,GAAGG,oBAAoB,CAAA;AACzD,UAAMG,UAAUN,OAAOO,QAAQ,EAAA;AAC/B,UAAMC,MAAMF,YAAY,MAAMA,UAAUF,OAAOA,OAAOE;AACtD,UAAMG,QAAiBC,KAAKC,MAAMX,OAAOY,SAAS,QAAQ,GAAGJ,GAAAA,CAAAA;AAC7D,QAAI,OAAOC,UAAU,YAAYA,UAAU,MAAM;AAC/C,YAAMrB,KAAMqB,MAAkC3C;AAC9C,UAAI,OAAOsB,OAAO,YAAYA,GAAGyB,SAAS,EAAG,QAAOzB;IACtD;EACF,QAAQ;EAER,UAAA;AACE,QAAIU,OAAON,OAAWsB,WAAUhB,EAAAA;EAClC;AACA,SAAON;AACT;AAnBSH;AAqBT,IAAMc,qBAAqB,KAAK;AAyBzB,SAASY,yBACd7C,KACAC,OAAeC,gBAAAA,GAAgB;AAE/B,QAAM4C,cAAc,oBAAIC,IAAAA;AACxB,QAAMC,WAAWjD,aAAaC,KAAKC,IAAAA;AAEnC,QAAMgD,UAAUC,YAAYlD,KAAKC,IAAAA;AACjC,MAAIgD,YAAY3B,QAAW;AACzBwB,gBAAYK,IAAIC,eAAenD,MAAMD,KAAKiD,OAAAA,GAAU,2BAAA;EACtD;AAIA,MAAID,SAASL,SAAS,KAAK,CAACG,YAAYO,IAAIL,SAAS,CAAA,EAAGzB,UAAU,GAAG;AACnEuB,gBAAYK,IAAIH,SAAS,CAAA,EAAGzB,YAAY,qBAAA;EAC1C;AAEA,aAAW+B,WAAWN,UAAU;AAG9B,UAAMO,YAAaC,iBAA4CF,QAAQ/B,UAAU;AACjF,QAAIgC,UAAWT,aAAYK,IAAIG,QAAQ/B,YAAY,qBAAA;EACrD;AACA,SAAOuB;AACT;AAzBgBD;AAmCT,SAASY,aAAavC,IAAYlB,KAAaC,OAAeC,gBAAAA,GAAgB;AACnF,SAAOkD,eAAenD,MAAMD,KAAKkB,EAAAA;AACnC;AAFgBuC;AAKhB,SAASP,YAAYlD,KAAaC,MAAY;AAC5C,MAAI;AACF,UAAMiB,KAAKwC,cAAaC,mBAAmB3D,KAAKC,IAAAA,GAAO,MAAA,EAAQ2D,KAAI;AACnE,WAAO1C,GAAGyB,SAAS,IAAIzB,KAAKI;EAC9B,QAAQ;AACN,WAAOA;EACT;AACF;AAPS4B;AAwDT,eAAsBW,cACpBjE,WACAkE,SAA6B;AAE7B,QAAM7D,OAAO6D,QAAQ7D,QAAQC,gBAAAA;AAC7B,MAAI4D,QAAQC,UAAU,MAAM;AAG1B,UAAMlE,SAASgD,yBAAyBiB,QAAQ9D,KAAKC,IAAAA,EAAM+D,IACzDP,aAAa7D,WAAWkE,QAAQ9D,KAAKC,IAAAA,CAAAA;AAEvC,QAAIJ,WAAWyB,OAAW,OAAM,IAAI7B,kBAAkBG,WAAWC,MAAAA;EACnE;AAoBA,MAAIC,kBAAkB;AACtB,MAAImE;AACJ,MAAIH,QAAQI,uBAAuB5C,QAAW;AAC5C,QAAI;AAIF,YAAM6C,UAAU,MAAMC,qBACpBN,QAAQI,mBAAmBtE,SAAAA,GAC3BA,WACAkE,QAAQO,iBAAiB;AAI3BvE,wBAAkBqE,YAAY;IAChC,SAASG,OAAO;AAGd,aAAO;QAAExE,iBAAiB;QAAOyE,mBAAmB;QAAON,eAAeK;MAAM;IAClF;EACF;AAgBA,MAAIR,QAAQC,UAAU,MAAM;AAC1B,UAAMS,eAAe3B,yBAAyBiB,QAAQ9D,KAAKC,IAAAA,EAAM+D,IAC/DP,aAAa7D,WAAWkE,QAAQ9D,KAAKC,IAAAA,CAAAA;AAEvC,QAAIuE,iBAAiBlD,QAAW;AAC9B,YAAM,IAAI7B,kBAAkBG,WAAW4E,cAAc1E,eAAAA;IACvD;EACF;AAEA,MAAIyE,oBAAoB;AACxB,MAAI;AACFE,WAAOrB,eAAenD,MAAM6D,QAAQ9D,KAAKJ,SAAAA,CAAAA;AACzC2E,wBAAoB;EACtB,QAAQ;EAER;AAEA,SAAO;IAAEzE;IAAiByE;IAAmBN;EAAc;AAC7D;AAtFsBJ;AAiGf,SAASa,mBACdC,OACAC,OACAC,KACAf,SAAyD;AAEzD,MAAI,CAACgB,OAAOC,UAAUF,GAAAA,KAAQA,MAAM,GAAG;AACrC,UAAM,IAAInF,mBACR,kEAAkEsF,OAAOH,GAAAA,CAAAA,GAAO;EAEpF;AAIA,MAAIF,UAAUC,OAAO;AACnB,UAAM,IAAIlF,mBACR,mEAA8DiF,KAAAA,8DAClB;EAEhD;AACA,QAAM1E,OAAO6D,QAAQ7D,QAAQC,gBAAAA;AAC7B,QAAM+E,MAAM7B,eAAenD,MAAM6D,QAAQ9D,KAAK2E,KAAAA;AAC9C,QAAMO,MAAM9B,eAAenD,MAAM6D,QAAQ9D,KAAK4E,KAAAA;AAE9C,QAAMO,QAAQC,mBAAmBH,GAAAA;AAGjC,MAAIJ,MAAMM,MAAMxC,QAAQ;AACtB,UAAM,IAAIjD,mBACR,gCAAgCiF,KAAAA,SAAcK,OAAOG,MAAMxC,MAAM,CAAA,oCACpDqC,OAAOH,GAAAA,CAAAA,+LAEuB;EAE/C;AACA,QAAMQ,WAAWF,MAAMN,MAAM,CAAA;AAK7BS,iBAAeL,KAAKC,KAAK;IACvBK,mBAAmBF,SAASG;IAC5BC,kBAAkB;SAAI5C,yBAAyBiB,QAAQ9D,KAAKC,IAAAA,EAAMyF,KAAI;MAAIC,IAAI,CAACzE,OAC7EkC,eAAenD,MAAM6D,QAAQ9D,KAAKkB,EAAAA,CAAAA;EAEtC,CAAA;AAIA,SAAO;IAAEK,YAAY2D;IAAKU,aAAaP,SAASG;IAAOK,cAAcR,SAASS;EAAK;AACrF;AAlDgBpB;AAoEhB,IAAMqB,2BAA2B;AAQjC,SAASC,aAAaC,QAAwB;AAC5C,UAAQA,OAAOC,SAASC,WAAW,CAAA,GAChCC,OAAO,CAACC,UAAUA,MAAMC,SAAS,MAAA,EACjCX,IAAI,CAACU,UAAUA,MAAMP,QAAQ,EAAA,EAC7BpF,KAAK,EAAA;AACV;AALSsF;AAOT,SAASO,kBAAkBN,QAAwB;AACjD,MAAIA,OAAOK,SAAS,OAAQ,QAAO;AACnC,QAAMR,OAAOE,aAAaC,MAAAA;AAC1B,MAAIH,KAAKnD,WAAW,EAAG,QAAO;AAC9B,SAAO,CAACmD,KAAKU,WAAWT,wBAAAA;AAC1B;AALSQ;AAQT,SAASnB,mBAAmBH,KAAW;AAKrC,QAAMwB,UAAUC,UAA4BzB,GAAAA;AAI5C,MAAI0B,QAAQ;AACZ,WAASC,IAAIH,QAAQ9D,SAAS,GAAGiE,KAAK,GAAGA,KAAK,GAAG;AAC/C,QAAIH,QAAQG,CAAAA,GAAIN,SAAS,YAAYG,QAAQG,CAAAA,GAAIC,YAAY,oBAAoB;AAC/EF,cAAQC;AACR;IACF;EACF;AAEA,QAAMzB,QAA2C,CAAA;AACjD,WAASyB,IAAID,QAAQ,GAAGC,IAAIH,QAAQ9D,QAAQiE,KAAK,GAAG;AAClD,UAAMX,SAASQ,QAAQG,CAAAA;AACvB,QAAIL,kBAAkBN,MAAAA,EAASd,OAAM/D,KAAK;MAAEoE,OAAOoB;MAAGd,MAAME,aAAaC,MAAAA;IAAQ,CAAA;EACnF;AACA,SAAOd;AACT;AAvBSC;;;AI1fT,SAAS0B,UAAAA,eAAc;AAEvB,SAASC,qBAAAA,0BAAyB;AAClC,SAASC,kBAAAA,uBAAsB;AAuC/B,IAAMC,QAAQ;EAAEC,UAAU;EAAGC,YAAY;AAAE;AAWpC,IAAMC,+BAAN,cAA2CC,mBAAAA;EArDlD,OAqDkDA;;;;EAC9BC,OAAO;EAEzB,YAAqBC,QAAiB;AACpC,UACE,qRAGYA,kBAAkBC,QAAQD,OAAOE,UAAUC,OAAOH,MAAAA,CAAAA,IAC9D;MAAEI,MAAM;MAA6BC,aAAa;MAAOC,OAAON;IAAO,CAAA,GAAA,KANtDA,SAAAA;EAQrB;AACF;AAEO,IAAMO,eAAN,cAA2BT,mBAAAA;EAnElC,OAmEkCA;;;;;EACdC,OAAO;EAEzB,YACWS,OACAC,UACT;AACA,UACE,oBAAoBD,KAAAA,uBAA4BL,OAAOT,MAAMc,KAAAA,CAAM,CAAA,cAC9DL,OAAOM,QAAAA,CAAAA,mHACkC,GAAA,KANvCD,QAAAA,OAAAA,KACAC,WAAAA;EAOX;AACF;AAoEA,SAASC,kBACPC,SACAC,UACAC,KACAC,MAAY;AAEZ,MAAIF,aAAaG,OAAW,QAAOJ;AACnC,MAAIK;AACJ,MAAI;AACFA,YAAQJ,SAAAA;EACV,SAASN,OAAO;AACd,UAAM,IAAIT,6BAA6BS,KAAAA;EACzC;AAIA,QAAMW,QAAQ,oBAAIC,IAAAA;AAClB,aAAW,CAACC,IAAInB,MAAAA,KAAWgB,MAAOC,OAAMG,IAAIC,aAAaF,IAAIN,KAAKC,IAAAA,GAAOd,MAAAA;AACzE,aAAW,CAACsB,MAAMtB,MAAAA,KAAWW,QAASM,OAAMG,IAAIE,MAAMtB,MAAAA;AACtD,SAAOiB;AACT;AApBSP;AAsBF,SAASa,iBAAiBC,SAA4B;AAC3D,MAAI,CAACC,OAAOC,SAASF,QAAQ7B,QAAQ,KAAK6B,QAAQ7B,WAAWD,MAAMC,UAAU;AAC3E,UAAM,IAAIY,aAAa,YAAYiB,QAAQ7B,QAAQ;EACrD;AACA,MAAI,CAAC8B,OAAOC,SAASF,QAAQ5B,UAAU,KAAK4B,QAAQ5B,aAAaF,MAAME,YAAY;AACjF,UAAM,IAAIW,aAAa,cAAciB,QAAQ5B,UAAU;EACzD;AAEA,QAAMkB,OAAOU,QAAQV,QAAQa,gBAAAA;AAC7B,QAAMC,MAAMJ,QAAQI,OAAOC,KAAKD,IAAG;AACnC,QAAME,SAASF,MAAMJ,QAAQ5B,aAAa;AAE1C,QAAMmC,WAAWC,aAAaR,QAAQX,KAAKC,IAAAA;AAC3C,QAAMmB,cAAcvB,kBAClBwB,yBAAyBV,QAAQX,KAAKC,IAAAA,GACtCU,QAAQW,cACRX,QAAQX,KACRC,IAAAA;AAGF,QAAMsB,aAA4B,CAAA;AAClC,QAAMC,OAAiB,CAAA;AAEvB,aAAW,CAACC,OAAOC,OAAAA,KAAYR,SAASS,QAAO,GAAI;AACjD,UAAMC,aAAaR,YAAYS,IAAIH,QAAQI,UAAU;AACrD,QAAIF,eAAe1B,QAAW;AAC5BsB,WAAKO,KAAK;QAAEzB,IAAIoB,QAAQpB;QAAInB,QAAQyC;MAAW,CAAA;AAC/C;IACF;AACA,QAAIH,QAAQd,QAAQ7B,UAAU;AAC5B0C,WAAKO,KAAK;QAAEzB,IAAIoB,QAAQpB;QAAInB,QAAQ,qBAAqBG,OAAOqB,QAAQ7B,QAAQ,CAAA;MAAI,CAAA;AACpF;IACF;AAKA,UAAMkD,MAAMN,QAAQO,WAAWC,QAAO;AACtC,QAAItB,OAAOuB,MAAMH,GAAAA,GAAM;AACrBR,WAAKO,KAAK;QAAEzB,IAAIoB,QAAQpB;QAAInB,QAAQ;MAAqD,CAAA;AACzF;IACF;AACA,QAAI6C,OAAOf,QAAQ;AACjBO,WAAKO,KAAK;QAAEzB,IAAIoB,QAAQpB;QAAInB,QAAQ,gBAAgBG,OAAOqB,QAAQ5B,UAAU,CAAA;MAAS,CAAA;AACtF;IACF;AACAwC,eAAWQ,KAAK;MACdzB,IAAIoB,QAAQpB;MACZwB,YAAYJ,QAAQI;MACpBG,YAAYP,QAAQO;IACtB,CAAA;EACF;AAEA,SAAO;IAAEjC,KAAKW,QAAQX;IAAKC;IAAMsB;IAAYC;EAAK;AACpD;AAtDgBd;AAyGhB,eAAe0B,oBACbC,WACA1B,SAGC;AAED,MAAI0B,UAAU/B,OAAOJ,QAAW;AAC9B,WAAO;MAAEoC,MAAM;QAAEhC,IAAIJ;QAAWb,SAASkD;MAAsB;MAAGC,QAAQ;IAAK;EACjF;AACA,MAAI7B,QAAQ8B,uBAAuBvC,OAAW,QAAO;IAAEsC,QAAQ;EAAK;AACpE,MAAI;AAMF,UAAME,qBACJ/B,QAAQ8B,mBAAmBJ,UAAU/B,EAAE,GACvC+B,UAAU/B,IACVK,QAAQgC,iBAAiB;AAE3B,WAAO;MAAEH,QAAQ;IAAK;EACxB,SAASI,OAAO;AACd,WAAO;MACLN,MAAM;QACJhC,IAAI+B,UAAU/B;QACdjB,SAAS,6CAA8CuD,MAAgBvD,OAAO;MAChF;MACAmD,QAAQ;IACV;EACF;AACF;AAhCeJ;AAmCf,IAAMG,wBACJ;AAOF,SAASM,cAAcR,WAAwBS,SAAmBC,UAAkB;AAClF,MAAIV,UAAU/B,OAAOJ,OAAW6C,UAAShB,KAAKM,UAAUP,UAAU;MAC7DgB,SAAQf,KAAKM,UAAU/B,EAAE;AAChC;AAHSuC;AAKT,eAAsBG,gBACpBC,MACAtC,SAsBC;AAED,QAAMmC,UAAoB,CAAA;AAC1B,QAAMC,WAAqB,CAAA;AAC3B,QAAMG,SAAoB,CAAA;AAK1B,QAAMC,eAAexC,QAAQyC,QACzBvD,kBACEwB,yBAAyB4B,KAAKjD,KAAKiD,KAAKhD,IAAI,GAC5CU,QAAQW,cACR2B,KAAKjD,KACLiD,KAAKhD,IAAI,IAEX,oBAAII,IAAAA;AAER,aAAWgC,aAAaY,KAAK1B,YAAY;AACvC,QAAI4B,aAAaE,IAAIhB,UAAUP,UAAU,EAAG;AAE5C,QAAI,CAACnB,QAAQyC,OAAO;AAClB,UAAIf,UAAU/B,OAAOJ,OAAW6C,UAAShB,KAAKM,UAAUP,UAAU;UAC7DgB,SAAQf,KAAKM,UAAU/B,EAAE;AAC9B;IACF;AACA,UAAMgD,WAAW,MAAMlB,oBAAoBC,WAAW1B,OAAAA;AACtD,QAAI2C,SAAShB,SAASpC,OAAWgD,QAAOnB,KAAKuB,SAAShB,IAAI;AAC1D,QAAI,CAACgB,SAASd,OAAQ;AACtB,QAAI;AAIFe,MAAAA,QAAOlB,UAAUP,UAAU;AAC3Be,oBAAcR,WAAWS,SAASC,QAAAA;IACpC,SAASH,OAAO;AACd,UAAKA,MAAgCrD,SAAS,UAAU;AACtDsD,sBAAcR,WAAWS,SAASC,QAAAA;AAClC;MACF;AACAG,aAAOnB,KAAK;QAAEzB,IAAI+B,UAAU/B;QAAIjB,SAAUuD,MAAgBvD;MAAQ,CAAA;IACpE;EACF;AAEA,SAAO;IAAEmE,QAAQ,CAAC7C,QAAQyC;IAAON;IAASC;IAAUG;EAAO;AAC7D;AArEsBF;;;AClTtB,SAASS,eAAAA,oBAAmB;AAgBrB,SAASC,mBACdC,OACAC,cACAC,MAAyBC,QAAQD,KAAG;AAEpC,MAAIF,QAAQ,EAAG,QAAOI;AAEtB,QAAMC,UAAUH,IAAII,cAAcC,KAAAA;AAClC,MAAIF,YAAYD,UAAaC,QAAQG,WAAW,EAAG,QAAOJ;AAC1D,MAAIC,YAAYJ,aAAc,QAAOG;AAErC,MAAIK;AACJ,MAAI;AAKFA,eAAWC,aAAYC,aAAaV,YAAAA,CAAAA;EACtC,QAAQ;AACN,WAAOG;EACT;AACA,MAAIK,SAASD,WAAW,EAAG,QAAOJ;AAElC,SACE,qBAAqBC,OAAAA,oBAClBO,OAAOH,SAASD,MAAM,CAAA,4DACtBP,YAAAA;AAEP;AA5BgBF;;;ACjChB,SAASc,aAAAA,YAAWC,kBAAAA,iBAAgBC,kBAAAA,uBAAsB;AA2D1D,IAAMC,SAAwB;EAAEC,OAAO;EAAUC,UAAU,CAAA;AAAG;AAGvD,SAASC,kBACdC,WACAC,SAAiC;AAEjC,QAAMC,OAAOC,gBAAeF,QAAQG,QAAQC,gBAAAA,GAAkBJ,QAAQK,KAAKN,SAAAA;AAC3E,MAAI;AACF,WAAO;MAAEH,OAAO;MAAWC,UAAUS,WAAUL,IAAAA;IAAM;EACvD,SAASM,KAAK;AAIZ,QAAIC,WAAWD,GAAAA,EAAM,QAAOZ;AAC5B,WAAO;MAAEC,OAAO;MAAcC,UAAU,CAAA;MAAIY,QAAQC,UAAUH,GAAAA;IAAK;EACrE;AACF;AAdgBT;AAgBhB,SAASU,WAAWD,KAAY;AAC9B,SAAQA,KAAmCI,SAAS;AACtD;AAFSH;AAIT,SAASE,UAAUH,KAAY;AAC7B,SAAOA,eAAeK,QAAQL,IAAIM,UAAUC,OAAOP,GAAAA;AACrD;AAFSG;;;AC9CT,SAASK,qBAAAA,0BAAyB;AAmFlC,IAAMC,6BAA6B;AAenC,SAASC,kBAAiBC,KAAW;AACnC,SAAOA,IAAIC,QAAQ,iBAAiB,GAAA;AACtC;AAFSF,OAAAA,mBAAAA;AAwBF,IAAMG,sBAAN,cAAkCC,mBAAAA;EA9JzC,OA8JyCA;;;EACvC,YAAYC,QAAgB;AAC1B,UACE,6CAA6CC,OAAOD,MAAAA,CAAAA,mdAKa;EAErE;AACF;AAOA,SAASE,mBAAmBF,QAAc;AACxC,MAAI,CAACG,OAAOC,UAAUJ,MAAAA,KAAWA,SAAS,EAAG,OAAM,IAAIF,oBAAoBE,MAAAA;AAC7E;AAFSE;AAyBT,SAASG,wBACPC,MACAC,OACAC,YAAyB;AAEzB,MAAIC;AACJ,aAAWb,OAAOU,MAAM;AACtB,QAAI,CAACE,WAAAA,GAAc;AACjBC,sBAAgB;AAChB;IACF;AACA,UAAMC,KAAKH,MAAMX,GAAAA;AACjB,QAAI,WAAWc,IAAI;AACjBD,sBAAgB,kBAAkBb,GAAAA,KAAQc,GAAGC,KAAK;AAClD;IACF;AACA,QAAID,GAAGE,MAAO,QAAO;MAAEC,UAAU;MAASC,QAAQ,gBAAgBlB,GAAAA;MAAcA;IAAI;EACtF;AACA,SAAOa,gBAAgBM,SACnB;IAAEF,UAAU;IAAgBC,QAAQL;EAAY,IAChD;IACEI,UAAU;IACVC,QAAQ,+BAA+BR,KAAKU,KAAK,IAAA,CAAA;;;;IAIjDpB,KAAKU,KAAK,CAAA;EACZ;AACN;AA5BSD;AAkCF,SAASY,iBACdC,SACAC,MAA6B;AAE7BjB,qBAAmBiB,KAAKnB,MAAM;AAE9B,QAAMoB,MAAM,oBAAIC,IAAAA;AAChB,MAAIC,YAAYH,KAAKnB;AAOrB,QAAMO,QAAQ,wBAACgB,SAAAA;AACbD,iBAAa;AACb,QAAI;AACF,YAAME,SAASL,KAAKM,GAAGC,OAAOH,IAAAA;AAI9B,aAAOC,WAAWT,SACd;QAAEJ,OAAO,+BAA+BY,IAAAA;MAAc,IACtD;QAAEX,OAAOY;MAAO;IACtB,SAASb,OAAO;AACd,aAAO;QAAEA,OAAOA,iBAAiBgB,QAAQhB,MAAMiB,UAAU3B,OAAOU,KAAAA;MAAO;IACzE;EACF,GAbc;AA4Bd,QAAMkB,cAAc,wBAACC,SAAAA;AACnB,UAAMC,MAAM,GAAGZ,KAAKa,YAAY,IAAIF,IAAAA;AACpC,QAAIG;AACJX,iBAAa;AACb,QAAI;AACFW,gBAAUd,KAAKM,GAAGS,YAAYH,GAAAA;IAChC,SAASpB,OAAO;AACd,aAAO;QACLwB,MAAM;QACNxB,OAAOA,iBAAiBgB,QAAQhB,MAAMiB,UAAU3B,OAAOU,KAAAA;MACzD;IACF;AACA,UAAMyB,UAAUjB,KAAKkB,qBAAqB3C;AAC1C,UAAMY,OAAiB,CAAA;AACvB,eAAWgC,QAAQL,QAAQM,OAAO,CAACC,MAAMA,EAAEC,SAAS,QAAA,CAAA,EAAWC,MAAM,GAAGN,OAAAA,GAAU;AAChF,UAAId,aAAa,EAAG;AACpBA,mBAAa;AACb,UAAIqB;AACJ,UAAI;AACFA,iBAASC,KAAKC,MAAM1B,KAAKM,GAAGqB,UAAU,GAAGf,GAAAA,IAAOO,IAAAA,EAAM,CAAA;MACxD,QAAQ;AAGN;MACF;AACA,YAAM1C,MAAO+C,QAAqC/C;AAClD,UAAI,OAAOA,QAAQ,YAAYA,IAAImD,WAAW,EAAG;AAKjD,UAAIpD,kBAAiBC,GAAAA,MAASkC,QAAQ,CAACxB,KAAK0C,SAASpD,GAAAA,EAAMU,MAAK2C,KAAKrD,GAAAA;IACvE;AACA,WAAOU,KAAKyC,SAAS,IAAI;MAAEZ,MAAM;MAAS7B;IAAK,IAAI;MAAE6B,MAAM;IAAS;EACtE,GAlCoB;AAoCpB,MAAIe;AACJ,MAAIC;AACJ,QAAMC,YAAY,6BAAA;AAChB,QAAIF,eAAenC,UAAaoC,qBAAqBpC,QAAW;AAC9D,UAAI;AACFmC,qBAAa/B,KAAKkC,eAAc;MAClC,SAAS1C,OAAO;AAGdwC,2BAAmB,2CAA2ClD,OAAOU,KAAAA,CAAAA;AACrEuC,qBAAa,CAAA;MACf;IACF;AACA,WAAOA,cAAc,CAAA;EACvB,GAZkB;AAuBlB,QAAMI,aAAa,wBAACxB,MAAcyB,SAAAA;AAChC,UAAMC,OAAO,oBAAIC,IAAAA;AACjB,eAAWC,aAAaH,MAAM;AAC5B,UAAIjC,aAAa,EAAG,QAAO;QAAET,UAAU;QAAgBC,QAAQ;MAA0B;AACzF,UAAI0C,KAAKG,IAAID,SAAAA,EAAY;AACzBF,WAAKI,IAAIF,SAAAA;AACT,UAAI/D,kBAAiB+D,SAAAA,MAAe5B,KAAM;AAE1C,YAAM+B,MAAMtD,MAAMmD,SAAAA;AAClB,UAAI,WAAWG,KAAK;AAClB,eAAO;UAAEhD,UAAU;UAAgBC,QAAQ,kBAAkB4C,SAAAA,KAAcG,IAAIlD,KAAK;QAAG;MACzF;AACA,UAAIkD,IAAIjD,OAAO;AACb,eAAO;UAAEC,UAAU;UAASC,QAAQ,sBAAsB4C,SAAAA;UAAa9D,KAAK8D;QAAU;MACxF;IACF;AAUA,WAAOpC,aAAa,IAChB;MAAET,UAAU;MAAgBC,QAAQ;IAA0B,IAC9D;MACED,UAAU;MACVC,QAAQ;IACV;EACN,GA/BmB;AAiCnB,aAAWgB,QAAQZ,SAAS;AAC1B,QAAII,aAAa,GAAG;AAClBF,UAAI0C,IAAIhC,MAAM;QAAEjB,UAAU;QAAgBC,QAAQ;MAA0B,CAAA;AAC5E;IACF;AAGA,UAAMiD,WAAWlC,YAAYC,IAAAA;AAC7B,QAAIiC,SAAS5B,SAAS,cAAc;AAElCf,UAAI0C,IAAIhC,MAAM;QACZjB,UAAU;QACVC,QAAQ,kBAAkBK,KAAKa,YAAY,IAAIF,IAAAA,KAASiC,SAASpD,KAAK;MACxE,CAAA;AACA;IACF;AACA,QAAIoD,SAAS5B,SAAS,SAAS;AAC7Bf,UAAI0C,IACFhC,MACAzB,wBAAwB0D,SAASzD,MAAMC,OAAO,MAAMe,YAAY,CAAA,CAAA;AAElE;IACF;AAEA,UAAMiC,OAAOH,UAAAA;AACbhC,QAAI0C,IACFhC,MACAqB,qBAAqBpC,SACjBuC,WAAWxB,MAAMyB,IAAAA,IACjB;MAAE1C,UAAU;MAAgBC,QAAQqC;IAAiB,CAAA;EAE7D;AAEA,SAAO/B;AACT;AA1KgBH;","names":["closeSync","openSync","readFileSync","readdirSync","readSync","rmSync","statSync","join","TheokitAgentError","classifySessionArtifact","forkTranscript","loadJsonl","sessionHasWriter","transcriptPath","transcriptRoot","TheokitAgentError","SessionRegistryRemoverError","TheokitAgentError","name","sessionId","timeoutMs","String","DEFAULT_REGISTRY_TIMEOUT_MS","isThenable","value","then","awaitRegistryRemoval","outcome","Number","isFinite","timer","Promise","race","_resolve","reject","setTimeout","undefined","clearTimeout","readFileSync","writeFileSync","join","encodeProjectDir","transcriptRoot","CWD_SIDECAR","projectsRoot","root","transcriptRoot","join","projectDirFor","cwd","encodeProjectDir","recordProjectDir","sidecar","ensureSecureDir","writeFileSync","resolveProjectDir","encodedName","raw","readFileSync","trim","length","undefined","projectDirMatches","readFileSync","join","atomicWriteText","transcriptRoot","POINTER","sessionPointerPath","cwd","root","transcriptRoot","join","projectDirFor","loadOrCreateSessionId","mintId","existing","readFileSync","trim","length","sessionId","resumed","persistSessionId","target","ensureSecureDir","atomicWriteText","persisted","SessionInUseError","TheokitAgentError","name","sessionId","reason","registryRemoved","listSessions","cwd","root","transcriptRoot","dir","projectDirFor","entries","readdirSync","found","entry","path","join","isDirectory","modifiedAt","stats","statSync","mtime","kind","classifySessionArtifact","id","sessionIdOf","push","idSource","undefined","transcript","sort","a","b","getTime","fd","openSync","buffer","Buffer","alloc","FIRST_RECORD_BYTES","read","readSync","newline","indexOf","end","first","JSON","parse","toString","length","closeSync","protectedTranscriptPaths","protectedBy","Map","sessions","pointer","readPointer","set","transcriptPath","has","session","hasWriter","sessionHasWriter","transcriptOf","readFileSync","sessionPointerPath","trim","deleteSession","options","force","get","registryError","removeFromRegistry","outcome","awaitRegistryRemoval","registryTimeoutMs","error","transcriptRemoved","nowProtected","rmSync","forkBeforeUserTurn","srcId","newId","nth","Number","isInteger","String","src","dst","turns","reachableUserTurns","selected","forkTranscript","beforeRecordIndex","index","liveSessionPaths","keys","map","recordIndex","selectedText","text","GOAL_CONTINUATION_MARKER","textOfRecord","record","message","content","filter","block","type","isGenuineUserTurn","startsWith","records","loadJsonl","floor","i","subtype","rmSync","TheokitAgentError","transcriptRoot","FLOOR","keepLast","maxAgeDays","GCProtectionUnavailableError","TheokitAgentError","name","reason","Error","message","String","code","isRetryable","cause","GCFloorError","field","received","resolveProtection","builtin","provider","cwd","root","undefined","extra","union","Map","id","set","transcriptOf","path","planTranscriptGC","options","Number","isFinite","transcriptRoot","now","Date","cutoff","sessions","listSessions","protectedBy","protectedTranscriptPaths","protectedIds","candidates","kept","index","session","entries","protection","get","transcript","push","age","modifiedAt","getTime","isNaN","releaseFromRegistry","candidate","note","UNNAMEABLE_COLLECTION","unlink","removeFromRegistry","awaitRegistryRemoval","registryTimeoutMs","error","recordRemoval","removed","orphaned","runTranscriptGC","plan","errors","protectedNow","apply","has","registry","rmSync","dryRun","readdirSync","transcriptRootHint","found","previousRoot","env","process","undefined","current","THEOKIT_HOME","trim","length","projects","readdirSync","projectsRoot","String","loadJsonl","transcriptPath","transcriptRoot","ABSENT","state","messages","readThreadHistory","sessionId","options","path","transcriptPath","root","transcriptRoot","cwd","loadJsonl","err","isNotFound","reason","messageOf","code","Error","message","String","TheokitAgentError","DEFAULT_TRANSCRIPT_SAMPLES","encodeProjectDir","cwd","replace","LivenessBudgetError","TheokitAgentError","budget","String","assertUsableBudget","Number","isInteger","verdictFromRecordedCwds","cwds","probe","budgetLeft","unprobeable","at","error","found","liveness","reason","undefined","join","classifyProjects","encoded","opts","out","Map","remaining","path","answer","fs","exists","Error","message","recordedCwd","name","dir","projectsRoot","entries","listEntries","kind","samples","transcriptSamples","file","filter","f","endsWith","slice","record","JSON","parse","firstLine","length","includes","push","candidates","enumerationError","enumerate","candidatePaths","searchPool","pool","seen","Set","candidate","has","add","hit","set","recorded"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@theokit/agents",
|
|
3
|
-
"version": "13.0.0-next.
|
|
3
|
+
"version": "13.0.0-next.3",
|
|
4
4
|
"description": "AI agents as first-class citizens of the TheoKit pipeline. The AgentBuilder.create() authoring chain compiles to the @theokit/sdk runtime.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|