fix(context-injector): use monotonic registration order instead of timestamp for deterministic sorting
This commit is contained in:
@@ -14,6 +14,8 @@ const PRIORITY_ORDER: Record<ContextPriority, number> = {
|
||||
|
||||
const CONTEXT_SEPARATOR = "\n\n---\n\n"
|
||||
|
||||
let registrationCounter = 0
|
||||
|
||||
export class ContextCollector {
|
||||
private sessions: Map<string, Map<string, ContextEntry>> = new Map()
|
||||
|
||||
@@ -30,7 +32,7 @@ export class ContextCollector {
|
||||
source: options.source,
|
||||
content: options.content,
|
||||
priority: options.priority ?? "normal",
|
||||
timestamp: Date.now(),
|
||||
registrationOrder: ++registrationCounter,
|
||||
metadata: options.metadata,
|
||||
}
|
||||
|
||||
@@ -77,7 +79,7 @@ export class ContextCollector {
|
||||
return entries.sort((a, b) => {
|
||||
const priorityDiff = PRIORITY_ORDER[a.priority] - PRIORITY_ORDER[b.priority]
|
||||
if (priorityDiff !== 0) return priorityDiff
|
||||
return a.timestamp - b.timestamp
|
||||
return a.registrationOrder - b.registrationOrder
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user