paseo-follow-up 1.3.0-beta.0 → 1.3.0-beta.1
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/README.md +1 -1
- package/package.json +1 -1
- package/server/inbox.ts +7 -1
package/README.md
CHANGED
|
@@ -109,7 +109,7 @@ The Follow-up sidebar row (and ⌘K → **Follow-up: Home**) opens **Home**: eve
|
|
|
109
109
|
Install the beta:
|
|
110
110
|
|
|
111
111
|
```sh
|
|
112
|
-
paseo plugin update follow-through --version 1.3.0-beta.
|
|
112
|
+
paseo plugin update follow-through --version 1.3.0-beta.1
|
|
113
113
|
# or, for a fresh install:
|
|
114
114
|
paseo plugin install npm:paseo-follow-up@beta
|
|
115
115
|
```
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "paseo-follow-up",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "1.3.0-beta.
|
|
4
|
+
"version": "1.3.0-beta.1",
|
|
5
5
|
"description": "Follow every workspace PR stack in Paseo, answer agent questions, batch repairs for the main agent, and see what needs you.",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"files": [
|
package/server/inbox.ts
CHANGED
|
@@ -189,6 +189,11 @@ export class Inbox {
|
|
|
189
189
|
|
|
190
190
|
/** The current turn per agent, from turn starts, so a needs_you call is matched to the turn it was made in. */
|
|
191
191
|
private turns = new Map<string, { turnId: string | null; at: number }>();
|
|
192
|
+
private async previousBriefAt(agentId: string): Promise<number | null> {
|
|
193
|
+
const at = (await this.store.snapshot()).entries[agentId]?.brief?.at;
|
|
194
|
+
const ms = at ? Date.parse(at) : NaN;
|
|
195
|
+
return Number.isFinite(ms) ? ms + 1 : null;
|
|
196
|
+
}
|
|
192
197
|
currentTurn(agentId: string): { turnId: string | null; at: number } | null { return this.turns.get(agentId) ?? null; }
|
|
193
198
|
|
|
194
199
|
/** The sources every brief has: the agent's needs_you for this turn and its PR state. */
|
|
@@ -256,7 +261,8 @@ export class Inbox {
|
|
|
256
261
|
}
|
|
257
262
|
return;
|
|
258
263
|
}
|
|
259
|
-
|
|
264
|
+
// After a plugin reload mid-turn the turn start is lost; anything stated since the previous brief belongs to this turn.
|
|
265
|
+
const since = this.turns.get(agent.id)?.at ?? await this.previousBriefAt(root.rootId);
|
|
260
266
|
this.turns.delete(agent.id);
|
|
261
267
|
const stated = await this.sources(agent.id, since, turnId);
|
|
262
268
|
if (outcome.kind === "completed") {
|