mirror of
https://github.com/stablyai/orca.git
synced 2026-10-25 00:03:59 +00:00
* feat(mobile): add safe Codex rate-limit resets * fix(mobile): address reset credit review feedback * review: purge removed-account reset attempts, shared capability constant, rebase test mocks * review: preserve host compatibility and reset durability * fix(mobile): recover reset capability after cutover * fix(mobile): validate runtime capability payloads * fix(mobile): enforce capability payload contract * fix(mobile): route mock terminals to selected worktree * test(mobile): pin malformed probe retry behavior --------- Co-authored-by: Brennan Benson <79079362+brennanb2025@users.noreply.github.com>
34 lines
1.5 KiB
TypeScript
34 lines
1.5 KiB
TypeScript
import { ipcMain } from 'electron'
|
|
import type { RateLimitService } from '../rate-limits/service'
|
|
import type { RateLimitRuntimeTarget } from '../../shared/rate-limit-types'
|
|
import type { CodexAccountService } from '../codex-accounts/service'
|
|
|
|
export function registerRateLimitHandlers(
|
|
rateLimits: RateLimitService,
|
|
codexAccounts: CodexAccountService
|
|
): void {
|
|
ipcMain.handle('rateLimits:get', () => rateLimits.getState())
|
|
ipcMain.handle('rateLimits:refresh', () => rateLimits.refresh())
|
|
ipcMain.handle('rateLimits:refreshCodexForTarget', (_event, target: RateLimitRuntimeTarget) =>
|
|
rateLimits.refreshCodexForTarget(target)
|
|
)
|
|
// Why: managed desktop resets must share the mobile mutation queue and durable ledger.
|
|
ipcMain.handle('rateLimits:consumeCodexResetCredit', () =>
|
|
codexAccounts.consumeCurrentRateLimitResetCredit()
|
|
)
|
|
ipcMain.handle('rateLimits:refreshClaudeForTarget', (_event, target: RateLimitRuntimeTarget) =>
|
|
rateLimits.refreshClaudeForTarget(target)
|
|
)
|
|
ipcMain.handle('rateLimits:setPollingInterval', (_event, ms: number) =>
|
|
rateLimits.setPollingInterval(ms)
|
|
)
|
|
ipcMain.handle('rateLimits:fetchInactiveClaudeAccounts', () =>
|
|
rateLimits.fetchInactiveClaudeAccountsOnOpen()
|
|
)
|
|
ipcMain.handle('rateLimits:fetchInactiveCodexAccounts', () =>
|
|
rateLimits.fetchInactiveCodexAccountsOnOpen()
|
|
)
|
|
ipcMain.handle('rateLimits:refreshMiniMax', () => rateLimits.refresh())
|
|
ipcMain.handle('rateLimits:refreshGrok', () => rateLimits.refreshGrok())
|
|
}
|