1253
},
1254
listSessions: async () => {
1256
>
const items = sessions.map(s => {
1257
>
const provider = AgentSession.provider(s.session);
1258
>
if (!provider) {
1259
throw new Error(`Agent session URI has no provider scheme: ${s.session.toString()}`);
1260
}
1262
>
let status = s.status ?? SessionStatus.Idle;
1263
>
if (s.isRead) {
1264
status |= SessionStatus.IsRead;
1265
}
1267
status |= SessionStatus.IsArchived;
1268
}
1270
>
resource: s.session.toString(),
1271
>
provider,
1272
>
title: s.summary ?? 'Session',
1273
>
status,
1274
>
activity: s.activity,
1275
>
createdAt: new Date(s.startTime).toISOString(),
1276
>
modifiedAt: new Date(s.modifiedTime).toISOString(),
1277
>
...(s.project ? { project: { uri: s.project.uri.toString(), displayName: s.project.displayName } } : {}),
1278
>
workingDirectories: s.workingDirectory ? [s.workingDirectory.toString()] : undefined,
1279
>
changes: s.changes,
1280
>
} satisfies ListSessionsResult['items'][number];
1281
>
});
1282
>
return { items };
1283
>
},
1284
resolveSessionConfig: async (_client, params) => {
1285
return this._agentService.resolveSessionConfig({