agent-office 0.2.2 → 0.2.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.
|
@@ -47,13 +47,6 @@ export interface AgenticCodingServer {
|
|
|
47
47
|
* @param limit maximum number of messages to return (server may cap this).
|
|
48
48
|
*/
|
|
49
49
|
getMessages(sessionID: string, limit?: number): Promise<SessionMessage[]>;
|
|
50
|
-
/**
|
|
51
|
-
* Reset a session to a specific message.
|
|
52
|
-
*
|
|
53
|
-
* Implementations should abort any in-progress generation before reverting
|
|
54
|
-
* so callers don't need to worry about "session is busy" errors.
|
|
55
|
-
*/
|
|
56
|
-
revertSession(sessionID: string, messageID: string): Promise<void>;
|
|
57
50
|
/**
|
|
58
51
|
* Return the list of agent modes the server knows about.
|
|
59
52
|
*/
|
|
@@ -6,6 +6,5 @@ export declare class OpenCodeCodingServer implements AgenticCodingServer {
|
|
|
6
6
|
deleteSession(sessionID: string): Promise<void>;
|
|
7
7
|
sendMessage(sessionID: string, text: string, agent: string, system: string): Promise<void>;
|
|
8
8
|
getMessages(sessionID: string, limit?: number): Promise<SessionMessage[]>;
|
|
9
|
-
revertSession(sessionID: string, messageID: string): Promise<void>;
|
|
10
9
|
getAgentModes(): Promise<AgentMode[]>;
|
|
11
10
|
}
|
|
@@ -37,12 +37,6 @@ export class OpenCodeCodingServer {
|
|
|
37
37
|
parts: m.parts,
|
|
38
38
|
}));
|
|
39
39
|
}
|
|
40
|
-
async revertSession(sessionID, messageID) {
|
|
41
|
-
// Abort any in-progress generation first — swallow errors because the
|
|
42
|
-
// session may not be busy.
|
|
43
|
-
await this.client.session.abort({ sessionID }).catch(() => { });
|
|
44
|
-
await this.client.session.revert({ sessionID, messageID });
|
|
45
|
-
}
|
|
46
40
|
async getAgentModes() {
|
|
47
41
|
const { data: config } = await this.client.config.get();
|
|
48
42
|
const agent = config?.agent ?? {};
|
package/dist/server/routes.js
CHANGED
|
@@ -353,18 +353,13 @@ export function createRouter(sql, agenticCodingServer, serverUrl, scheduler, mem
|
|
|
353
353
|
}
|
|
354
354
|
const session = rows[0];
|
|
355
355
|
try {
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
res.status(500).json({ error: "Failed to get first message ID" });
|
|
364
|
-
return;
|
|
365
|
-
}
|
|
366
|
-
await agenticCodingServer.revertSession(session.session_id, firstMessage.id);
|
|
367
|
-
res.json({ ok: true, messageID: firstMessage.id });
|
|
356
|
+
// Delete the old OpenCode session and create a fresh one
|
|
357
|
+
await agenticCodingServer.deleteSession(session.session_id);
|
|
358
|
+
const newSessionId = await agenticCodingServer.createSession();
|
|
359
|
+
await sql `
|
|
360
|
+
UPDATE sessions SET session_id = ${newSessionId} WHERE name = ${name}
|
|
361
|
+
`;
|
|
362
|
+
res.json({ ok: true });
|
|
368
363
|
}
|
|
369
364
|
catch (err) {
|
|
370
365
|
console.error("POST /sessions/:name/revert-to-start error:", err);
|
|
@@ -373,22 +368,17 @@ export function createRouter(sql, agenticCodingServer, serverUrl, scheduler, mem
|
|
|
373
368
|
});
|
|
374
369
|
router.post("/sessions/revert-all", async (_req, res) => {
|
|
375
370
|
const allSessions = await sql `
|
|
376
|
-
SELECT id, name, session_id
|
|
371
|
+
SELECT id, name, session_id FROM sessions
|
|
377
372
|
`;
|
|
378
373
|
const results = [];
|
|
379
374
|
for (const session of allSessions) {
|
|
380
375
|
try {
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
if (!firstMessage.id) {
|
|
388
|
-
results.push({ name: session.name, ok: false, error: "Failed to get first message ID" });
|
|
389
|
-
continue;
|
|
390
|
-
}
|
|
391
|
-
await agenticCodingServer.revertSession(session.session_id, firstMessage.id);
|
|
376
|
+
// Delete the old OpenCode session and create a fresh one
|
|
377
|
+
await agenticCodingServer.deleteSession(session.session_id);
|
|
378
|
+
const newSessionId = await agenticCodingServer.createSession();
|
|
379
|
+
await sql `
|
|
380
|
+
UPDATE sessions SET session_id = ${newSessionId} WHERE name = ${session.name}
|
|
381
|
+
`;
|
|
392
382
|
results.push({ name: session.name, ok: true });
|
|
393
383
|
}
|
|
394
384
|
catch (err) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agent-office",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.3",
|
|
4
4
|
"description": "An office for your AI agents",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"dependencies": {
|
|
35
35
|
"@inkjs/ui": "^2.0.0",
|
|
36
36
|
"@opencode-ai/sdk": "^1.2.10",
|
|
37
|
-
"agent-office": "0.2.
|
|
37
|
+
"agent-office": "^0.2.2",
|
|
38
38
|
"commander": "^14.0.0",
|
|
39
39
|
"croner": "^10.0.1",
|
|
40
40
|
"dotenv": "^17.0.0",
|