Files
AgentCompany/src/main/ipc-domain-handlers.ts
T
ZacharyZhang-NY feea5c1fe9 feat(05-02): IPC handlers, preload bridge, and ServiceGraph wiring for budget enforcement
- Create ipc-budget-handlers.ts with 6 budget channel handlers (save/delete/list policies, list/resolve incidents, get status)
- Add budgetService to RegisterDomainHandlersDependencies interface
- Register budget handlers in ipc-domain-handlers.ts composition
- Add BudgetEnforcementService lazy slot in service-graph.ts with getOrCreateBudgetEnforcementService
- Pass budgetService to domain handler registration in main-runtime-support.ts
- Fix preload bridge to pass {companyId} object for listBudgetPolicies and getBudgetStatus
- D-06: checkAutoResolve called on saveBudgetPolicy to auto-resolve incidents on limit increase
2026-03-26 20:57:52 -04:00

33 lines
1.6 KiB
TypeScript

import type { RegisterDomainHandlersDependencies } from "./ipc-domain-common";
import { registerAgentCoordinationHandlers } from "./ipc-agent-coordination-handlers";
import { registerAutomationOperationsHandlers } from "./ipc-automation-operations-handlers";
import { registerBrowserHandlers } from "./ipc-browser-handlers";
import { registerContentOperationsHandlers } from "./ipc-content-operations-handlers";
import { registerOnboardingHandlers } from "./ipc-onboarding-handlers";
import { registerRecoveryHandlers } from "./ipc-recovery-handlers";
import { registerSkillHandlers } from "./ipc-skill-handlers";
import { registerBudgetHandlers } from "./ipc-budget-handlers";
export function registerDomainHandlers(dependencies: RegisterDomainHandlersDependencies) {
registerOnboardingHandlers(dependencies);
registerBrowserHandlers(dependencies);
registerContentOperationsHandlers(dependencies);
registerAutomationOperationsHandlers(dependencies);
registerAgentCoordinationHandlers(dependencies);
registerRecoveryHandlers(dependencies);
registerSkillHandlers({
registerHandle: dependencies.registerHandle,
ensureCompanyExists: dependencies.ensureCompanyExists,
publishDomainChanged: dependencies.publishDomainChanged,
skillService: dependencies.skillService,
db: dependencies.db,
});
registerBudgetHandlers({
registerHandle: dependencies.registerHandle,
ensureCompanyExists: dependencies.ensureCompanyExists,
publishDomainChanged: dependencies.publishDomainChanged,
budgetService: dependencies.budgetService,
db: dependencies.db,
});
}