fix(collab): use '-' instead of ':' in agent page-history jobId
BullMQ rejects custom job IDs containing ':' (Redis key separator),
throwing "Custom Id cannot contain :" inside the onStoreDocument hook
for every agent edit. This broke agent-driven page saves (MCP
create_page runs as actor='agent') with HTTP 400.
Switch the agent dedup suffix from `${page.id}:agent` to
`${page.id}-agent`. The jobId is only used as a BullMQ dedup key and is
never parsed by the history processor; page.id is a UUID, so the
hyphenated id cannot collide with a human job whose id is a bare page.id.
This commit is contained in:
@@ -324,7 +324,10 @@ export class PersistenceExtension implements Extension {
|
||||
: pageAge < HISTORY_FAST_THRESHOLD
|
||||
? HISTORY_FAST_INTERVAL
|
||||
: HISTORY_INTERVAL;
|
||||
const jobId = isAgent ? `${page.id}:agent` : page.id;
|
||||
// BullMQ forbids ':' in custom job IDs (it is the Redis key separator), so
|
||||
// use '-' here. page.id is a UUID, so `${page.id}-agent` cannot collide with
|
||||
// any human job whose id is a bare page.id.
|
||||
const jobId = isAgent ? `${page.id}-agent` : page.id;
|
||||
|
||||
await this.historyQueue.add(
|
||||
QueueJob.PAGE_HISTORY,
|
||||
|
||||
Reference in New Issue
Block a user