@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 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
- readonly id: string;
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
- declare function protectedTranscripts(cwd: string, root?: string): Map<string, string>;
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
- readonly id: string;
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
- readonly id: string;
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
- * `protectedTranscripts` derives protection from THIS framework's pointer convention. A consumer
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
- readonly id: string;
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, protectedTranscripts, readThreadHistory, recordProjectDir, resolveProjectDir, runTranscriptGC, sessionPointerPath, transcriptRootHint };
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: sessionIdOf(path, entry),
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, entry) {
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 stem;
192
+ return void 0;
192
193
  }
193
194
  __name(sessionIdOf, "sessionIdOf");
194
195
  var FIRST_RECORD_BYTES = 64 * 1024;
195
- function protectedTranscripts(cwd, root = transcriptRoot3()) {
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) protectedBy.set(pointer, "resumable session pointer");
200
- if (sessions.length > 0 && !protectedBy.has(sessions[0].id)) {
201
- protectedBy.set(sessions[0].id, "most recent session");
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.id, "active writer lease");
208
+ if (hasWriter) protectedBy.set(session.transcript, "active writer lease");
206
209
  }
207
210
  return protectedBy;
208
211
  }
209
- __name(protectedTranscripts, "protectedTranscripts");
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 = protectedTranscripts(options.cwd, root).get(sessionId);
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 = protectedTranscripts(options.cwd, root).get(sessionId);
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
- ...protectedTranscripts(options.cwd, root).keys()
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 { transcriptPath as transcriptPath2, transcriptRoot as transcriptRoot4 } from "@theokit/sdk/persistence";
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(extra);
361
- for (const [id, reason] of builtin) union.set(id, reason);
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(protectedTranscripts(options.cwd, root), options.protectedIds);
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.id);
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(protectedTranscripts(plan.cwd, plan.root), options.protectedIds) : /* @__PURE__ */ new Map();
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.id)) continue;
473
+ if (protectedNow.has(candidate.transcript)) continue;
430
474
  if (!options.apply) {
431
- removed.push(candidate.id);
475
+ if (candidate.id === void 0) orphaned.push(candidate.transcript);
476
+ else removed.push(candidate.id);
432
477
  continue;
433
478
  }
434
- if (options.removeFromRegistry !== void 0) {
435
- try {
436
- await awaitRegistryRemoval(options.removeFromRegistry(candidate.id), candidate.id, options.registryTimeoutMs);
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(transcriptPath2(plan.root, plan.cwd, candidate.id));
447
- removed.push(candidate.id);
483
+ rmSync2(candidate.transcript);
484
+ recordRemoval(candidate, removed, orphaned);
448
485
  } catch (error) {
449
486
  if (error.code === "ENOENT") {
450
- removed.push(candidate.id);
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 transcriptPath3, transcriptRoot as transcriptRoot5 } from "@theokit/sdk/persistence";
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 = transcriptPath3(options.root ?? transcriptRoot5(), options.cwd, sessionId);
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
- protectedTranscripts,
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
@@ -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":"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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","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.2",
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",