Skip to content

Commit 2add606

Browse files
committed
fix(ci): clean decopilot contract follow-ups
1 parent 31c8a30 commit 2add606

3 files changed

Lines changed: 5 additions & 46 deletions

File tree

apps/mesh/src/api/routes/decopilot/conversation.ts

Lines changed: 0 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@
55
*/
66

77
import type { ChatMessage } from "./types";
8-
import type { Memory } from "./memory";
9-
import type { ThreadMessage } from "@/storage/types";
108
export {
119
denyPendingApprovals,
1210
processConversation,
@@ -25,45 +23,3 @@ export function splitRequestMessages(messages: ChatMessage[]): {
2523
const requestMessage = messages.find((m) => m.role !== "system")!;
2624
return { systemMessages, requestMessage };
2725
}
28-
29-
async function loadMemory(memory: Memory, windowSize: number) {
30-
const threadMessages = await memory.loadHistory(windowSize);
31-
return threadMessages;
32-
}
33-
34-
function mergeMessages(
35-
threadMessages: ThreadMessage[],
36-
requestMessage?: ChatMessage,
37-
): ChatMessage[] {
38-
// Filter out messages with empty parts to prevent bricked threads
39-
// (e.g. assistant messages saved after an LLM error before any content was generated)
40-
const validMessages = threadMessages.filter(
41-
(m) => m.parts && m.parts.length > 0,
42-
);
43-
if (!requestMessage) {
44-
return validMessages as ChatMessage[];
45-
}
46-
const matchIndex = validMessages.findIndex((m) => m.id === requestMessage.id);
47-
const conversation =
48-
matchIndex >= 0
49-
? [...validMessages.slice(0, matchIndex), requestMessage]
50-
: [...validMessages, requestMessage];
51-
return conversation;
52-
}
53-
54-
export async function loadAndMergeMessages(
55-
memory: Memory,
56-
requestMessage: ChatMessage | undefined,
57-
systemMessages: ChatMessage[],
58-
windowSize: number,
59-
/** Subagent runs start FRESH: skip the thread's history and send only the
60-
* system prompt + the request (the subtask prompt). */
61-
skipHistory = false,
62-
): Promise<ChatMessage[]> {
63-
const threadMessages = skipHistory
64-
? []
65-
: await loadMemory(memory, windowSize);
66-
const conversation = mergeMessages(threadMessages, requestMessage);
67-
const allMessages: ChatMessage[] = [...systemMessages, ...conversation];
68-
return allMessages;
69-
}

apps/mesh/src/api/routes/decopilot/memory.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ export interface MemoryConfig {
3333
* - Message history loading
3434
* - Pruning for context window management
3535
*/
36-
export class Memory {
36+
class Memory {
3737
readonly thread: Thread;
3838
readonly organization_id: string;
3939

packages/e2e/tests/link-dispatch-pull.spec.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -220,7 +220,10 @@ test.describe("pull-transport round-trip", () => {
220220
let daemon: TunnelLinkDaemon | null = null;
221221

222222
try {
223-
daemon = await createTunnelLinkDaemon(api, user.userId, ["claude-code"]);
223+
daemon = await createTunnelLinkDaemon(api, user.userId, [
224+
"body-offload",
225+
"claude-code",
226+
]);
224227
const orgId = await orgIdForSlug(db, orgSlug);
225228
const { agentId, threadId } = await createPullThread(
226229
api,

0 commit comments

Comments
 (0)