Files
oh-my-opencode/src/features/team-mode/team-mailbox/ack.ts
T
2026-05-06 14:19:38 +09:00

35 lines
1018 B
TypeScript

import { mkdir, rename } from "node:fs/promises"
import path from "node:path"
import type { TeamModeConfig } from "../../../config/schema/team-mode"
import { getInboxDir, resolveBaseDir } from "../team-registry/paths"
export async function ackMessages(
teamRunId: string,
memberName: string,
messageIds: string[],
config: TeamModeConfig,
): Promise<void> {
const baseDir = resolveBaseDir(config)
const inboxDir = getInboxDir(baseDir, teamRunId, memberName)
const processedDir = path.join(inboxDir, "processed")
await mkdir(processedDir, { recursive: true, mode: 0o700 })
for (const messageId of messageIds) {
const messageFileName = `${messageId}.json`
const sourcePath = path.join(inboxDir, messageFileName)
const targetPath = path.join(processedDir, messageFileName)
try {
await rename(sourcePath, targetPath)
} catch (error) {
const err = error as NodeJS.ErrnoException
if (err.code === "ENOENT") {
continue
}
throw error
}
}
}