(options: {
config: Partial<Config> | Config;
historyService?: HistoryService;
aiService?: AIService;
initStateManager?: InitStateManager;
extensionMetadata?: ExtensionMetadataService;
backgroundProcessManager?: BackgroundProcessManager;
sessionUsageService?: WorkspaceServiceArgs[6];
policyService?: WorkspaceServiceArgs[7];
telemetryService?: WorkspaceServiceArgs[8];
experimentsService?: WorkspaceServiceArgs[9];
sessionTimingService?: WorkspaceServiceArgs[10];
opResolver?: WorkspaceServiceArgs[11];
})
| 156 | } |
| 157 | |
| 158 | function createWorkspaceServiceForTest(options: { |
| 159 | config: Partial<Config> | Config; |
| 160 | historyService?: HistoryService; |
| 161 | aiService?: AIService; |
| 162 | initStateManager?: InitStateManager; |
| 163 | extensionMetadata?: ExtensionMetadataService; |
| 164 | backgroundProcessManager?: BackgroundProcessManager; |
| 165 | sessionUsageService?: WorkspaceServiceArgs[6]; |
| 166 | policyService?: WorkspaceServiceArgs[7]; |
| 167 | telemetryService?: WorkspaceServiceArgs[8]; |
| 168 | experimentsService?: WorkspaceServiceArgs[9]; |
| 169 | sessionTimingService?: WorkspaceServiceArgs[10]; |
| 170 | opResolver?: WorkspaceServiceArgs[11]; |
| 171 | }): WorkspaceService { |
| 172 | // Test helpers often don't exercise HistoryService; use a narrow stub for those cases. |
| 173 | // eslint-disable-next-line @typescript-eslint/consistent-type-assertions |
| 174 | const defaultHistoryService: HistoryService = {} as HistoryService; |
| 175 | return new WorkspaceService( |
| 176 | options.config as Config, |
| 177 | options.historyService ?? defaultHistoryService, |
| 178 | options.aiService ?? createMockAIService(), |
| 179 | options.initStateManager ?? (mockInitStateManager as InitStateManager), |
| 180 | options.extensionMetadata ?? (mockExtensionMetadataService as ExtensionMetadataService), |
| 181 | options.backgroundProcessManager ?? (mockBackgroundProcessManager as BackgroundProcessManager), |
| 182 | options.sessionUsageService, |
| 183 | options.policyService, |
| 184 | options.telemetryService, |
| 185 | options.experimentsService, |
| 186 | options.sessionTimingService, |
| 187 | options.opResolver |
| 188 | ); |
| 189 | } |
| 190 | |
| 191 | async function setWorkspaceGoalOk( |
| 192 | goalService: WorkspaceGoalService, |
no test coverage detected