Files
orca/src/shared/agent-notification-id.ts
T

26 lines
573 B
TypeScript

export type BuildAgentNotificationIdArgs = {
worktreeId?: string | null
paneKey?: string | null
stateStartedAt?: number | null
}
export function buildAgentNotificationId({
worktreeId,
paneKey,
stateStartedAt
}: BuildAgentNotificationIdArgs): string | null {
if (!worktreeId || !paneKey || typeof stateStartedAt !== 'number') {
return null
}
if (!Number.isFinite(stateStartedAt)) {
return null
}
return [
'agent',
encodeURIComponent(worktreeId),
encodeURIComponent(paneKey),
String(Math.trunc(stateStartedAt))
].join(':')
}