@felan-ai/daemon 0.7.5 → 0.7.6

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.
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/daemon/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/daemon/service.ts"],"names":[],"mappings":"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"}
@@ -52,6 +52,8 @@ export interface SessionExtensionContext {
52
52
  readonly dynamicThinking: boolean;
53
53
  readonly services: FelanServiceRegistry;
54
54
  readonly importExtension: ExtensionPackageImporter;
55
+ /** Generic UI for extensions the provider binds itself; packaged extensions receive it through the session. */
56
+ readonly createExtensionUi?: CreateAgentCoreSessionOptions['createExtensionUi'];
55
57
  }
56
58
  export interface SessionExtensionBindings {
57
59
  readonly importExtension: ExtensionPackageImporter;
@@ -1 +1 @@
1
- {"version":3,"file":"session-execution.d.ts","sourceRoot":"","sources":["../../src/daemon/session-execution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-execution.d.ts","sourceRoot":"","sources":["../../src/daemon/session-execution.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"session-services.d.ts","sourceRoot":"","sources":["../../src/daemon/session-services.ts"],"names":[],"mappings":"AAGA,OAAO,EAAwB,KAAK,oBAAoB,EAAE,KAAK,UAAU,EAAE,KAAK,eAAe,EAAE,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGpJ,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAA2B,KAAK,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAKnG,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,GAAG,0BAA0B,CAGlH;AAcD,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,eAAe,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,GAAG,eAAe,CA4C9H;AAED,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,eAAe,EAAE,QAAQ,EAAE,oBAAoB,EACjG,YAAY,aAAmC,GAAG,eAAe,CAUlE"}
1
+ {"version":3,"file":"session-services.d.ts","sourceRoot":"","sources":["../../src/daemon/session-services.ts"],"names":[],"mappings":"AAIA,OAAO,EAAwB,KAAK,oBAAoB,EAAE,KAAK,UAAU,EAAE,KAAK,eAAe,EAAE,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAIpJ,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAA2B,KAAK,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAKnG,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,GAAG,0BAA0B,CAGlH;AAcD,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,eAAe,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,GAAG,eAAe,CA4C9H;AAED,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,eAAe,EAAE,QAAQ,EAAE,oBAAoB,EACjG,YAAY,aAAmC,GAAG,eAAe,CAUlE"}
@@ -1,6 +1,7 @@
1
1
  import { randomUUID } from 'node:crypto';
2
2
  import { constants } from 'node:fs';
3
3
  import { open, stat } from 'node:fs/promises';
4
+ import { availableParallelism } from 'node:os';
4
5
  import { SessionsServiceError } from '@felan-ai/agent-core';
5
6
  import { createSessionHistoryBackend } from '../session-history.js';
6
7
  import { guardOwnedPaths } from './persistence.js';
@@ -87,43 +88,71 @@ export function createHostSessionsHistory(registry, selector, assertAccess = ()
87
88
  });
88
89
  }
89
90
  function createRegistrySessionsHistory(registry, current, project, assertAccess, selector) {
91
+ const assertHistoryAccess = () => {
92
+ try {
93
+ assertAccess();
94
+ }
95
+ catch (error) {
96
+ if (error instanceof SessionsServiceError)
97
+ throw error;
98
+ throw new SessionsServiceError('unavailable');
99
+ }
100
+ };
101
+ const visible = (stored) => selector?.kind !== 'project' || stored.cwd === selector.cwd;
102
+ const sourceOf = async (stored, signal) => {
103
+ signal?.throwIfAborted();
104
+ let bytes;
105
+ let diagnostic;
106
+ let updatedAt = stored.updatedAt;
107
+ try {
108
+ const info = await stat(registry.options.owner.assertOwnsPath(stored.piPath));
109
+ if (!info.isFile())
110
+ diagnostic = 'inaccessible';
111
+ else {
112
+ bytes = info.size;
113
+ updatedAt = Math.max(updatedAt, Math.floor(info.mtimeMs));
114
+ if (bytes > 64 * 1024 * 1024)
115
+ diagnostic = 'oversize';
116
+ }
117
+ }
118
+ catch {
119
+ diagnostic = 'inaccessible';
120
+ }
121
+ return { key: stored.piPath, sessionId: stored.id, id: stored.id, root: stored.root,
122
+ ...(stored.parent ? { parent: stored.parent } : {}), cwd: stored.cwd, title: stored.title,
123
+ updatedAt, state: stored.state,
124
+ // Only this daemon appends to transcripts, and only while the session is loaded.
125
+ ...(registry.binding(stored.id) !== undefined ? { growing: true } : {}),
126
+ ...(bytes === undefined ? {} : { bytes }), ...(diagnostic ? { diagnostic } : {}) };
127
+ };
90
128
  return createSessionHistoryBackend({
91
129
  current,
92
130
  project,
131
+ // The backend calls this before each inventory, so it owns the access check.
132
+ generation: () => {
133
+ assertHistoryAccess();
134
+ return JSON.stringify(registry.listed().filter(visible).map(stored => [stored.id, stored.revision, stored.piPath, registry.binding(stored.id) !== undefined]));
135
+ },
93
136
  inventory: async ({ signal }) => {
94
- assertAccess();
95
137
  signal?.throwIfAborted();
96
- const rows = [];
97
- for (const stored of registry.listed()) {
98
- signal?.throwIfAborted();
99
- if (selector?.kind === 'project' && stored.cwd !== selector.cwd)
100
- continue;
101
- let bytes;
102
- let diagnostic;
103
- let updatedAt = stored.updatedAt;
104
- try {
105
- const info = await stat(registry.options.owner.assertOwnsPath(stored.piPath));
106
- if (!info.isFile())
107
- diagnostic = 'inaccessible';
108
- else {
109
- bytes = info.size;
110
- updatedAt = Math.max(updatedAt, Math.floor(info.mtimeMs));
111
- if (bytes > 64 * 1024 * 1024)
112
- diagnostic = 'oversize';
113
- }
114
- }
115
- catch {
116
- diagnostic = 'inaccessible';
117
- }
118
- rows.push({ key: stored.piPath, sessionId: stored.id, id: stored.id, root: stored.root,
119
- ...(stored.parent ? { parent: stored.parent } : {}), cwd: stored.cwd, title: stored.title,
120
- updatedAt, state: stored.state,
121
- ...(bytes === undefined ? {} : { bytes }), ...(diagnostic ? { diagnostic } : {}) });
138
+ return mapConcurrent(registry.listed().filter(visible), stored => sourceOf(stored, signal));
139
+ },
140
+ // A single lookup avoids cloning every listed row; the filters mirror `registry.listed()`.
141
+ refresh: async ({ key, sessionId }, { signal }) => {
142
+ assertHistoryAccess();
143
+ signal?.throwIfAborted();
144
+ let stored;
145
+ try {
146
+ stored = registry.options.store.sessionMetadata(sessionId);
122
147
  }
123
- return rows;
148
+ catch {
149
+ return undefined;
150
+ }
151
+ return stored.deletedAt === undefined && !stored.draft && stored.piPath === key && visible(stored)
152
+ ? sourceOf(stored, signal) : undefined;
124
153
  },
125
154
  read: async (source, { maxBytes, signal }) => {
126
- assertAccess();
155
+ assertHistoryAccess();
127
156
  signal?.throwIfAborted();
128
157
  const path = registry.options.owner.assertOwnsPath(source.key);
129
158
  const check = guardOwnedPaths(registry.options.owner, [path]);
@@ -148,7 +177,7 @@ function createRegistrySessionsHistory(registry, current, project, assertAccess,
148
177
  || before.mtimeNs !== after.mtimeNs || before.ctimeNs !== after.ctimeNs)
149
178
  throw new SessionsServiceError('stale');
150
179
  check();
151
- assertAccess();
180
+ assertHistoryAccess();
152
181
  signal?.throwIfAborted();
153
182
  return buffer.subarray(0, offset);
154
183
  }
@@ -158,4 +187,14 @@ function createRegistrySessionsHistory(registry, current, project, assertAccess,
158
187
  },
159
188
  });
160
189
  }
190
+ async function mapConcurrent(items, work) {
191
+ const results = new Array(items.length);
192
+ let next = 0;
193
+ const worker = async () => { while (next < items.length) {
194
+ const index = next++;
195
+ results[index] = await work(items[index]);
196
+ } };
197
+ await Promise.all(Array.from({ length: Math.min(availableParallelism(), items.length) }, worker));
198
+ return results;
199
+ }
161
200
  //# sourceMappingURL=session-services.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"session-services.js","sourceRoot":"","sources":["../../src/daemon/session-services.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAA0F,MAAM,sBAAsB,CAAC;AACpJ,OAAO,EAAE,2BAA2B,EAA6B,MAAM,uBAAuB,CAAC;AAC/F,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EAAE,uBAAuB,EAAmC,MAAM,yBAAyB,CAAC;AAEnG,MAAM,WAAW,GAAG,4BAA4B,CAAC;AACjD,MAAM,cAAc,GAAG,IAAI,OAAO,EAA4D,CAAC;AAE/F,MAAM,UAAU,yBAAyB,CAAC,QAAyB,EAAE,SAAiB;IACpF,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IACnC,OAAO,iBAAiB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,iBAAiB,CAAC,QAAyB,EAAE,SAAiB;IACrE,IAAI,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACzC,IAAI,CAAC,KAAK,EAAE,CAAC;QAAC,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;QAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAAC,CAAC;IACvE,IAAI,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACtC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QAC9D,UAAU,GAAG,uBAAuB,CAAC,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAC1J,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IACnC,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,QAAyB,EAAE,OAAmB,EAAE,OAAe;IAC3G,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC/C,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACnE,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM;YAAE,MAAM,IAAI,oBAAoB,CAAC,cAAc,CAAC,CAAC;IACzH,CAAC,CAAC;IACF,MAAM,SAAS,GAAG,GAAG,EAAE;QACrB,aAAa,EAAE,CAAC;QAChB,OAAO,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;IAClD,CAAC,CAAC;IACF,MAAM,OAAO,GAAG,6BAA6B,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;IAC1F,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,GAAG,OAAO;QACV,KAAK,CAAC,iBAAiB,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO;YAC/C,aAAa,EAAE,CAAC;YAAC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;YACnD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,IAAI;mBAC5E,OAAO,SAAS,KAAK,QAAQ,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,GAAG;gBAAE,MAAM,IAAI,oBAAoB,CAAC,SAAS,CAAC,CAAC;YAClI,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAE,CAAC,OAAO,CAAC,OAAO,CAAC;YAC/D,MAAM,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC;YACvC,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,KAAK,WAAW;mBAC1G,KAAK,CAAC,IAAI,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,WAAW,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC;YACtH,IAAI,QAAQ,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAChC,MAAM,IAAI,GAAG,QAAQ,CAAC,IAA2C,CAAC;gBAClE,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK;oBAAE,MAAM,IAAI,oBAAoB,CAAC,SAAS,CAAC,CAAC;gBACpE,OAAO,IAAI,CAAC,OAAO,CAAC;YACtB,CAAC;YACD,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,CAAC;YAClD,IAAI,OAAO;gBAAE,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YAC3C,OAAO,CAAC,iBAAiB,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;YACtE,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;YAC3C,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;QAChD,UAAU,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;QACxD,SAAS,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;QACtD,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;QAC9C,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;QAChD,SAAS,CAAC,QAAQ;YAChB,MAAM,cAAc,GAAG,SAAS,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YACvD,MAAM,WAAW,GAAG,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YAC1G,OAAO,GAAG,EAAE,GAAG,cAAc,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;QACpD,CAAC;KACwB,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,QAAyB,EAAE,QAA8B,EACjG,YAAY,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC,eAAe,EAAE;IAC/C,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,QAAQ,CAAC,GAAG,KAAK,QAAQ,CAAC;QAAE,MAAM,IAAI,oBAAoB,CAAC,SAAS,CAAC,CAAC;IACzJ,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC;IACjD,MAAM,EAAE,GAAG,QAAQ,UAAU,EAAE,EAAE,CAAC;IAClC,MAAM,OAAO,GAAG,6BAA6B,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,SAAS,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EACzH,YAAY,EAAE,SAAS,CAAC,CAAC;IAC3B,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,GAAG,OAAO;QACV,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC;KACxH,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,6BAA6B,CAAC,QAAyB,EAAE,OAAmB,EAAE,OAAe,EAAE,YAAwB,EAC9H,QAA+B;IAC/B,OAAO,2BAA2B,CAAC;QACjC,OAAO;QACP,OAAO;QACP,SAAS,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;YAC9B,YAAY,EAAE,CAAC;YAAC,MAAM,EAAE,cAAc,EAAE,CAAC;YACzC,MAAM,IAAI,GAA2B,EAAE,CAAC;YACxC,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;gBACvC,MAAM,EAAE,cAAc,EAAE,CAAC;gBACzB,IAAI,QAAQ,EAAE,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,GAAG,KAAK,QAAQ,CAAC,GAAG;oBAAE,SAAS;gBAC1E,IAAI,KAAyB,CAAC;gBAC9B,IAAI,UAAmD,CAAC;gBACxD,IAAI,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;gBACjC,IAAI,CAAC;oBACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;oBAC9E,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;wBAAE,UAAU,GAAG,cAAc,CAAC;yBAC3C,CAAC;wBACJ,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;wBAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;wBAC7E,IAAI,KAAK,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI;4BAAE,UAAU,GAAG,UAAU,CAAC;oBACxD,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBAAC,UAAU,GAAG,cAAc,CAAC;gBAAC,CAAC;gBACxC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI;oBACpF,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK;oBACzF,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK;oBAC9B,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACxF,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE;YAC3C,YAAY,EAAE,CAAC;YAAC,MAAM,EAAE,cAAc,EAAE,CAAC;YACzC,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC/D,MAAM,KAAK,GAAG,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;YAC9D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;YAChG,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBACjD,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,MAAM,CAAC,KAAK,KAAK,EAAE,IAAI,MAAM,CAAC,GAAG,KAAK,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC;oBAAE,MAAM,IAAI,oBAAoB,CAAC,cAAc,CAAC,CAAC;gBACxJ,IAAI,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC;oBAAE,MAAM,IAAI,oBAAoB,CAAC,UAAU,CAAC,CAAC;gBAC/E,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;gBACrD,IAAI,MAAM,GAAG,CAAC,CAAC;gBACf,OAAO,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC9B,MAAM,EAAE,cAAc,EAAE,CAAC;oBACzB,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;oBACxG,IAAI,CAAC,SAAS;wBAAE,MAAM;oBACtB,MAAM,IAAI,SAAS,CAAC;gBACtB,CAAC;gBACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBAChD,IAAI,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG,IAAI,MAAM,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI;uBACnH,MAAM,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO;oBAAE,MAAM,IAAI,oBAAoB,CAAC,OAAO,CAAC,CAAC;gBACnH,KAAK,EAAE,CAAC;gBAAC,YAAY,EAAE,CAAC;gBAAC,MAAM,EAAE,cAAc,EAAE,CAAC;gBAClD,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;YACpC,CAAC;oBAAS,CAAC;gBAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;YAAC,CAAC;QACnC,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"session-services.js","sourceRoot":"","sources":["../../src/daemon/session-services.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,8 @@ export interface SessionHistorySource {
10
10
  readonly title: string;
11
11
  readonly updatedAt: number;
12
12
  readonly state: 'open' | 'closed';
13
+ /** The transcript may grow without a generation() change, so cached inventories re-check it through refresh. */
14
+ readonly growing?: boolean;
13
15
  readonly bytes?: number;
14
16
  readonly fingerprint?: string;
15
17
  readonly diagnostic?: SessionHistoryInfo['diagnostic'];
@@ -19,6 +21,10 @@ export interface CreateSessionHistoryBackendOptions {
19
21
  readonly project: string;
20
22
  /** Must include only sources visible to this session under current host policy. */
21
23
  readonly inventory: (options: SessionsRequestOptions) => Promise<readonly SessionHistorySource[]>;
24
+ /** Cheap token that changes whenever the visible source set, its metadata or the set of growing sources may have changed. Must not stat or read files. */
25
+ readonly generation: () => string;
26
+ /** Current inventory row for one source key, or undefined when it is no longer visible. Must apply the same policy as `inventory`. */
27
+ readonly refresh: (source: SessionHistorySource, options: SessionsRequestOptions) => Promise<SessionHistorySource | undefined>;
22
28
  /** Must verify source ownership/identity and return one consistent, bounded byte snapshot. */
23
29
  readonly read: (source: SessionHistorySource, options: {
24
30
  readonly maxBytes: number;
@@ -1 +1 @@
1
- {"version":3,"file":"session-history.d.ts","sourceRoot":"","sources":["../src/session-history.ts"],"names":[],"mappings":"AAGA,OAAO,EAKL,KAAK,kBAAkB,EAEvB,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC5B,MAAM,sBAAsB,CAAC;AAE9B,MAAM,WAAW,oBAAoB;IACnC,0FAA0F;IAC1F,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAC;IAClC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,kBAAkB,CAAC,YAAY,CAAC,CAAC;CACxD;AAED,MAAM,WAAW,kCAAkC;IACjD,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,mFAAmF;IACnF,QAAQ,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,sBAAsB,KAAK,OAAO,CAAC,SAAS,oBAAoB,EAAE,CAAC,CAAC;IAClG,8FAA8F;IAC9F,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,oBAAoB,EAAE,OAAO,EAAE;QAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;CAC7I;AAyBD,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,kCAAkC,GAAG,eAAe,CAgIxG"}
1
+ {"version":3,"file":"session-history.d.ts","sourceRoot":"","sources":["../src/session-history.ts"],"names":[],"mappings":"AAGA,OAAO,EAKL,KAAK,kBAAkB,EAEvB,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC5B,MAAM,sBAAsB,CAAC;AAE9B,MAAM,WAAW,oBAAoB;IACnC,0FAA0F;IAC1F,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAC;IAClC,gHAAgH;IAChH,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,kBAAkB,CAAC,YAAY,CAAC,CAAC;CACxD;AAED,MAAM,WAAW,kCAAkC;IACjD,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,mFAAmF;IACnF,QAAQ,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,sBAAsB,KAAK,OAAO,CAAC,SAAS,oBAAoB,EAAE,CAAC,CAAC;IAClG,0JAA0J;IAC1J,QAAQ,CAAC,UAAU,EAAE,MAAM,MAAM,CAAC;IAClC,sIAAsI;IACtI,QAAQ,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,oBAAoB,EAAE,OAAO,EAAE,sBAAsB,KAAK,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC,CAAC;IAC/H,8FAA8F;IAC9F,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,oBAAoB,EAAE,OAAO,EAAE;QAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;CAC7I;AA+CD,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,kCAAkC,GAAG,eAAe,CAmNxG"}
@@ -4,13 +4,21 @@ import { migrateSessionEntries } from '@earendil-works/pi-coding-agent';
4
4
  import { SESSION_HISTORY_LIMITS, SessionsServiceError, } from '@felan-ai/agent-core';
5
5
  const identifier = /^[a-zA-Z0-9][a-zA-Z0-9._-]{0,127}$/u;
6
6
  const digestPattern = /^[a-f0-9]{64}$/u;
7
+ const maxCachedTranscripts = 32;
8
+ const maxCachedTranscriptBytes = 64 * 1024 * 1024;
9
+ const maxCachedTranscriptIdleMs = 30_000;
7
10
  export function createSessionHistoryBackend(options) {
8
11
  if (!options || !validRef(options.current) || typeof options.project !== 'string'
9
- || typeof options.inventory !== 'function' || typeof options.read !== 'function')
12
+ || typeof options.inventory !== 'function' || typeof options.read !== 'function'
13
+ || typeof options.generation !== 'function' || typeof options.refresh !== 'function')
10
14
  fail('invalid');
11
15
  const current = Object.freeze(copyRef(options.current));
12
- const { inventory, read, project } = options;
16
+ const { inventory, read, generation, refresh, project } = options;
13
17
  const cursorKey = randomBytes(32);
18
+ let inventoryCache;
19
+ const parsedCache = new Map();
20
+ let parsedCacheBytes = 0;
21
+ let parsedCacheTimer;
14
22
  function encodeCursor(cursor) {
15
23
  const body = Buffer.from(JSON.stringify(cursor)).toString('base64url');
16
24
  return `${body}.${createHmac('sha256', cursorKey).update(body).digest('base64url')}`;
@@ -37,8 +45,30 @@ export function createSessionHistoryBackend(options) {
37
45
  fail('invalid');
38
46
  return decoded;
39
47
  }
40
- async function snapshot(signal) {
48
+ async function snapshot(signal, listRevision) {
41
49
  checkAbort(signal);
50
+ const token = generation();
51
+ if (typeof token !== 'string')
52
+ fail('inaccessible');
53
+ if (inventoryCache?.generation === token) {
54
+ const state = inventoryCache.state;
55
+ if (listRevision === state.revision)
56
+ return state;
57
+ const rows = [];
58
+ let changed = false;
59
+ for (const row of state.rows) {
60
+ const next = row.source.growing === true ? await refreshed(row.source, signal) : row;
61
+ if (next?.identity !== row.identity)
62
+ changed = true;
63
+ if (next)
64
+ rows.push(next);
65
+ }
66
+ if (!changed)
67
+ return state;
68
+ const updated = buildSnapshot(rows);
69
+ inventoryCache = { generation: token, state: updated };
70
+ return updated;
71
+ }
42
72
  const sources = await inventory(signal ? { signal } : {});
43
73
  checkAbort(signal);
44
74
  if (!Array.isArray(sources))
@@ -46,41 +76,93 @@ export function createSessionHistoryBackend(options) {
46
76
  if (sources.length > 65_536)
47
77
  fail('oversize');
48
78
  const copied = sources.map(sourceCopy);
49
- const keys = new Set();
50
- const ids = new Set();
51
79
  const rows = [];
52
80
  for (const [index, source] of copied.entries()) {
53
- if (keys.has(source.key))
54
- fail('inaccessible');
55
- keys.add(source.key);
56
- const id = source.id ?? `history-${hash(JSON.stringify([source.key, source.sessionId]))}`;
57
- if (ids.has(id))
58
- fail('inaccessible');
59
- ids.add(id);
60
- const info = {
61
- id, root: source.root ?? id, ...(source.parent === undefined ? {} : { parent: source.parent }),
62
- cwd: source.cwd, title: source.title, updatedAt: source.updatedAt, state: source.state,
63
- ...(source.diagnostic === undefined ? {} : { diagnostic: source.diagnostic }),
64
- };
65
- rows.push({ source, info, identity: hash(canonicalJson(source)) });
81
+ rows.push(inventoryRow(source));
66
82
  if (index % 128 === 127)
67
83
  await yieldTurn(undefined, signal ? { signal } : {});
68
84
  }
69
- rows.sort((a, b) => b.info.updatedAt - a.info.updatedAt || compare(a.info.id, b.info.id));
70
85
  checkAbort(signal);
71
- return { rows, revision: hash(JSON.stringify(rows.map(row => row.identity))) };
86
+ const state = buildSnapshot(rows);
87
+ inventoryCache = { generation: token, state };
88
+ return state;
89
+ }
90
+ async function refreshed(source, signal) {
91
+ checkAbort(signal);
92
+ const value = await refresh(source, signal ? { signal } : {});
93
+ checkAbort(signal);
94
+ return value === undefined ? undefined : inventoryRow(sourceCopy(value));
95
+ }
96
+ function stale() {
97
+ inventoryCache = undefined;
98
+ for (const identity of parsedCache.keys())
99
+ dropParsed(identity);
100
+ fail('stale');
72
101
  }
102
+ function staleSource(row, listed) {
103
+ dropParsed(row.identity);
104
+ if (!listed.source.growing)
105
+ inventoryCache = undefined;
106
+ fail('stale');
107
+ }
108
+ function dropParsed(identity) {
109
+ const cached = parsedCache.get(identity);
110
+ if (!cached)
111
+ return;
112
+ parsedCache.delete(identity);
113
+ parsedCacheBytes -= cached.loaded.byteLength;
114
+ if (parsedCache.size === 0 && parsedCacheTimer) {
115
+ clearTimeout(parsedCacheTimer);
116
+ parsedCacheTimer = undefined;
117
+ }
118
+ }
119
+ function scheduleParsedEviction() {
120
+ if (parsedCacheTimer)
121
+ return;
122
+ const oldest = parsedCache.values().next().value;
123
+ if (!oldest)
124
+ return;
125
+ parsedCacheTimer = setTimeout(() => {
126
+ parsedCacheTimer = undefined;
127
+ const cutoff = Date.now() - maxCachedTranscriptIdleMs;
128
+ for (const [identity, cached] of parsedCache) {
129
+ if (cached.lastUsed <= cutoff)
130
+ dropParsed(identity);
131
+ }
132
+ scheduleParsedEviction();
133
+ }, Math.max(0, oldest.lastUsed + maxCachedTranscriptIdleMs - Date.now()));
134
+ parsedCacheTimer.unref();
135
+ }
136
+ // A cached inventory only maps an ID to its source; the refreshed row is authoritative for every read.
73
137
  async function load(id, signal) {
74
138
  if (!validId(id))
75
139
  fail('invalid');
76
- const before = await snapshot(signal);
77
- const row = before.rows.find(value => value.info.id === id);
140
+ checkAbort(signal);
141
+ const find = (state) => state?.rows.find(value => value.info.id === id);
142
+ const listed = find(inventoryCache?.state) ?? find(await snapshot(signal));
143
+ if (!listed)
144
+ fail('inaccessible');
145
+ const row = await refreshed(listed.source, signal);
146
+ if (row?.identity !== listed.identity && !listed.source.growing)
147
+ inventoryCache = undefined;
78
148
  if (!row)
79
149
  fail('inaccessible');
150
+ if (row.info.id !== id)
151
+ stale();
80
152
  if (row.source.diagnostic)
81
153
  fail(row.source.diagnostic);
82
154
  if (row.source.bytes !== undefined && row.source.bytes > SESSION_HISTORY_LIMITS.fileBytes)
83
155
  fail('oversize');
156
+ const cached = row.source.bytes === undefined ? undefined : parsedCache.get(row.identity);
157
+ if (cached) {
158
+ if (Date.now() - cached.lastUsed < maxCachedTranscriptIdleMs) {
159
+ cached.lastUsed = Date.now();
160
+ parsedCache.delete(row.identity);
161
+ parsedCache.set(row.identity, cached);
162
+ return cached.loaded;
163
+ }
164
+ dropParsed(row.identity);
165
+ }
84
166
  const value = await read(row.source, { maxBytes: SESSION_HISTORY_LIMITS.fileBytes, ...(signal ? { signal } : {}) });
85
167
  checkAbort(signal);
86
168
  if (!(value instanceof Uint8Array))
@@ -90,17 +172,26 @@ export function createSessionHistoryBackend(options) {
90
172
  const bytes = new Uint8Array(value);
91
173
  const revision = hash(bytes);
92
174
  if (row.source.fingerprint !== undefined && row.source.fingerprint !== revision)
93
- fail('stale');
175
+ staleSource(row, listed);
94
176
  if (row.source.bytes !== undefined && row.source.bytes !== bytes.byteLength)
95
- fail('stale');
177
+ staleSource(row, listed);
96
178
  const parsed = await parseTranscript(bytes, row.source.sessionId, signal);
97
- const { entries } = parsed;
98
179
  // Pi resumes a transcript at its last entry, so that entry is the active leaf.
99
- const branch = entries.at(-1)?.id ?? null;
100
- const after = await snapshot(signal);
101
- if (after.rows.find(item => item.info.id === id)?.identity !== row.identity)
102
- fail('stale');
103
- return { ...parsed, revision, branch, byteLength: bytes.byteLength };
180
+ const branch = parsed.entries.at(-1)?.id ?? null;
181
+ if ((await refreshed(row.source, signal))?.identity !== row.identity)
182
+ staleSource(row, listed);
183
+ const loaded = { ...parsed, identity: row.identity, revision, branch, byteLength: bytes.byteLength };
184
+ // Without a byte count, the source identity cannot distinguish rewritten content.
185
+ if (row.source.bytes !== undefined) {
186
+ dropParsed(row.identity);
187
+ parsedCache.set(row.identity, { loaded, lastUsed: Date.now() });
188
+ parsedCacheBytes += loaded.byteLength;
189
+ while (parsedCache.size > maxCachedTranscripts || parsedCacheBytes > maxCachedTranscriptBytes) {
190
+ dropParsed(parsedCache.keys().next().value);
191
+ }
192
+ scheduleParsedEviction();
193
+ }
194
+ return loaded;
104
195
  }
105
196
  return Object.freeze({
106
197
  current,
@@ -109,7 +200,7 @@ export function createSessionHistoryBackend(options) {
109
200
  if (!filter || !['root', 'project', 'visible'].includes(filter.scope))
110
201
  fail('invalid');
111
202
  const scope = filter.scope;
112
- const state = await snapshot(request.signal);
203
+ const state = await snapshot(request.signal, request.cursor ? decodeCursor(request.cursor).revision : undefined);
113
204
  const rows = state.rows.filter(row => scope === 'visible' || (scope === 'root' ? row.info.root === current.root : row.info.cwd === project));
114
205
  const offset = pageOffset(request, { kind: 'list', target: scope, revision: state.revision, branch: null });
115
206
  return packPage(rows.map(row => row.info), 'items', {}, request, offset, next => encodeCursor({ kind: 'list', target: scope, revision: state.revision, branch: null, offset: next }));
@@ -121,8 +212,11 @@ export function createSessionHistoryBackend(options) {
121
212
  if (at && (at.sessionId !== id || !sameRevision(at, loaded)))
122
213
  fail('stale');
123
214
  const offset = pageOffset(request, { kind: 'history', target: id, ...loaded });
124
- return packPage(loaded.entries, 'entries', { sessionId: id, revision: loaded.revision, branch: loaded.branch,
215
+ const page = packPage(loaded.entries, 'entries', { sessionId: id, revision: loaded.revision, branch: loaded.branch,
125
216
  ...(loaded.startedAt === undefined ? {} : { startedAt: loaded.startedAt }) }, request, offset, next => encodeCursor({ kind: 'history', target: id, revision: loaded.revision, branch: loaded.branch, offset: next }));
217
+ if (!page.nextCursor)
218
+ dropParsed(loaded.identity);
219
+ return page;
126
220
  }),
127
221
  checkpoint: (id, options) => safely(options?.signal, async () => {
128
222
  const request = requestOptions(options);
@@ -156,13 +250,13 @@ function packPage(values, key, metadata, request, offset, cursor) {
156
250
  if (offset > values.length)
157
251
  fail('stale');
158
252
  const items = [];
253
+ const next = offset + 1 < values.length ? cursor(values.length) : undefined;
254
+ const overhead = Buffer.byteLength(JSON.stringify({ ...metadata, [key]: [], ...(next ? { nextCursor: next } : {}) }));
159
255
  let bytes = 0;
160
256
  for (let index = offset; index < values.length && items.length < request.limit; index += 1) {
161
257
  checkAbort(request.signal);
162
258
  const value = values[index];
163
259
  const itemBytes = Buffer.byteLength(JSON.stringify(value));
164
- const next = index + 1 < values.length ? cursor(index + 1) : undefined;
165
- const overhead = Buffer.byteLength(JSON.stringify({ ...metadata, [key]: [], ...(next ? { nextCursor: next } : {}) }));
166
260
  if (overhead + bytes + itemBytes + items.length > SESSION_HISTORY_LIMITS.pageBytes) {
167
261
  if (items.length === 0)
168
262
  fail('oversize');
@@ -181,6 +275,7 @@ function sourceCopy(value) {
181
275
  || value.parent !== undefined && !validId(value.parent)
182
276
  || typeof value.cwd !== 'string' || value.cwd.length > 4096 || typeof value.title !== 'string' || value.title.length > 4096
183
277
  || !Number.isSafeInteger(value.updatedAt) || value.updatedAt < 0 || !['open', 'closed'].includes(value.state)
278
+ || value.growing !== undefined && typeof value.growing !== 'boolean'
184
279
  || value.bytes !== undefined && (!Number.isSafeInteger(value.bytes) || value.bytes < 0)
185
280
  || value.fingerprint !== undefined && !validDigest(value.fingerprint)
186
281
  || value.diagnostic !== undefined && !['inaccessible', 'oversize', 'unsupported'].includes(value.diagnostic))
@@ -189,11 +284,33 @@ function sourceCopy(value) {
189
284
  updatedAt: value.updatedAt, state: value.state,
190
285
  ...(value.id === undefined ? {} : { id: value.id }), ...(value.root === undefined ? {} : { root: value.root }),
191
286
  ...(value.parent === undefined ? {} : { parent: value.parent }),
287
+ ...(value.growing === undefined ? {} : { growing: value.growing }),
192
288
  ...(value.bytes === undefined ? {} : { bytes: value.bytes }),
193
289
  ...(value.fingerprint === undefined ? {} : { fingerprint: value.fingerprint }),
194
290
  ...(value.diagnostic === undefined ? {} : { diagnostic: value.diagnostic }),
195
291
  });
196
292
  }
293
+ function inventoryRow(source) {
294
+ const id = source.id ?? `history-${hash(JSON.stringify([source.key, source.sessionId]))}`;
295
+ const info = Object.freeze({
296
+ id, root: source.root ?? id, ...(source.parent === undefined ? {} : { parent: source.parent }),
297
+ cwd: source.cwd, title: source.title, updatedAt: source.updatedAt, state: source.state,
298
+ ...(source.diagnostic === undefined ? {} : { diagnostic: source.diagnostic }),
299
+ });
300
+ return { source, info, identity: hash(canonicalJson(source)) };
301
+ }
302
+ function buildSnapshot(rows) {
303
+ const keys = new Set();
304
+ const ids = new Set();
305
+ for (const row of rows) {
306
+ if (keys.has(row.source.key) || ids.has(row.info.id))
307
+ fail('inaccessible');
308
+ keys.add(row.source.key);
309
+ ids.add(row.info.id);
310
+ }
311
+ rows.sort((a, b) => b.info.updatedAt - a.info.updatedAt || compare(a.info.id, b.info.id));
312
+ return { rows, revision: hash(JSON.stringify(rows.map(row => row.identity))) };
313
+ }
197
314
  async function parseTranscript(bytes, sessionId, signal) {
198
315
  let text;
199
316
  try {
@@ -245,10 +362,18 @@ async function parseTranscript(bytes, sessionId, signal) {
245
362
  if (header.version === 2)
246
363
  migrateSessionEntries([header, ...entries]);
247
364
  checkAbort(signal);
365
+ deepFreeze(entries);
248
366
  const startedAt = typeof header.timestamp === 'string' && header.timestamp.length <= 128
249
367
  && /^\d{4}-\d{2}-\d{2}T/u.test(header.timestamp) && Number.isFinite(Date.parse(header.timestamp)) ? header.timestamp : undefined;
250
368
  return { entries, ...(startedAt === undefined ? {} : { startedAt }) };
251
369
  }
370
+ function deepFreeze(value) {
371
+ if (value === null || typeof value !== 'object')
372
+ return;
373
+ for (const child of Object.values(value))
374
+ deepFreeze(child);
375
+ Object.freeze(value);
376
+ }
252
377
  function validateEntry(value) {
253
378
  if (!validId(value.id) || value.parentId !== null && !validId(value.parentId)
254
379
  || typeof value.timestamp !== 'string' || value.timestamp.length > 128 || !Number.isFinite(Date.parse(value.timestamp)))