fix: generate distinct task collaboration titles

Use verified task names until Agent generates a specific conversation title.
Repair legacy names without changing manual titles or history ordering.
Bound page repairs to 30 entries and a shared two-second deadline, and
re-read titles after task access validation to avoid stale reuse receipts.

Validation: bun run check; 40 focused tests across six files.
This commit is contained in:
2026-10-29 16:55:10 +08:00
parent c3050b602b
commit fbe273e90a
8 changed files with 285 additions and 12 deletions
+2 -1
View File
@@ -156,10 +156,11 @@ export const clearOperationalTaskLease = (runtimeSessionId: string) => {
export class OperationalTaskClient {
constructor(private readonly baseUrl = config.TJWATER_SERVER_BASE_URL) {}
async getAgentContext(runtimeSessionId: string, taskId: string, reportRevision?: number) {
async getAgentContext(runtimeSessionId: string, taskId: string, reportRevision?: number, signal?: AbortSignal) {
const query = reportRevision == null ? "" : `?report_revision=${reportRevision}`;
const raw = await this.request(runtimeSessionId, `/api/v1/operational-tasks/${encodeURIComponent(taskId)}/agent-context${query}`, {
method: "GET",
signal,
});
const result = agentTaskContextSchema.parse(raw);
rememberLeaseRevision(runtimeSessionId, result);