()
| 769 | }, |
| 770 | |
| 771 | async listInstalledApps(): Promise<InstalledApp[]> { |
| 772 | // `ComputerUseInstalledApp` is `{bundleId, displayName, path}`. |
| 773 | // `InstalledApp` adds optional `iconDataUrl` — left unpopulated; |
| 774 | // the approval dialog fetches lazily via getAppIcon() below. |
| 775 | return drainRunLoop(() => cu.apps.listInstalled()) |
| 776 | }, |
| 777 | |
| 778 | async getAppIcon(path: string): Promise<string | undefined> { |
| 779 | return cu.apps.iconDataUrl(path) ?? undefined |
nothing calls this directly
no test coverage detected