feat(04-01): refactor all notify() call sites to use structured NotificationOptions

- Change ipc-support.ts notify() from (title, body) to (options: NotificationOptions)
- Wire createNotificationService in bootstrap-application.ts with lazy service graph refs
- Update all 12 call sites with entity context, urgency, navigation, and batch keys
- Update dependency interfaces in service-graph, worker, orchestration, automation, updater, desktop-shell
- No string-based notify() calls remain in src/main/

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
ZacharyZhang-NYandClaude Opus 4.6 committed 2026-03-22 16:37:07 -04:00
1 parent 9ebb489644
commit 667ac48aa5
8 files changed
+113 -34

No files matched your search

+9 -2
View File
@@ -3,6 +3,7 @@ import type { AppDatabase } from "./database";
import { getConnectorExecutionReadinessIssue } from "@shared/connector-policy";
import type { DesktopResult } from "@shared/contracts";
import type { ConnectorRecord } from "@shared/types";
import type { NotificationOptions } from "./notification-service";
type WorkspaceLockMode = "exclusive" | "shared" | "none";
@@ -53,7 +54,7 @@ interface OrchestrationDependencies {
error: (...args: unknown[]) => void;
};
publishDomainChanged: () => void;
notify: (title: string, body: string) => void;
notify: (options: NotificationOptions) => void;
createRunToken: (agentId: string, companyId: string, runId: string) => string;
getApiPort: () => number;
dispatchAutomation: (trigger: string, ctx: AutomationDispatch) => void;
@@ -128,7 +129,13 @@ export function createOrchestrationService({
entityId: agent.id,
detail: `Budget exhausted at ${agent.spentMonthlyUsd.toFixed(2)} / ${agent.budgetMonthlyUsd.toFixed(2)} USD.`,
});
notify("Agent paused for budget limit", agent.name);
notify({
title: "Agent Paused",
body: `${agent.name} paused -- budget limit reached`,
urgency: "informational",
navigation: { section: "agents", entityId: agent.id },
batchKey: "agent_paused",
});
publishDomainChanged();
return true;
}