MCPcopy
hub / github.com/coder/mux / constructor

Method constructor

src/node/services/aiService.ts:449–499  ·  view source on GitHub ↗
(
    config: Config,
    historyService: HistoryService,
    initStateManager: InitStateManager,
    providerService: ProviderService,
    backgroundProcessManager?: BackgroundProcessManager,
    sessionUsageService?: SessionUsageService,
    workspaceMcpOverridesService?: WorkspaceMcpOverridesService,
    policyService?: PolicyService,
    telemetryService?: TelemetryService,
    devToolsService?: DevToolsService,
    opResolver?: ExternalSecretResolver,
    experimentsService?: ExperimentsService
  )

Source from the content-addressed store, hash-verified

447 private desktopSessionManager?: DesktopSessionManager;
448
449 constructor(
450 config: Config,
451 historyService: HistoryService,
452 initStateManager: InitStateManager,
453 providerService: ProviderService,
454 backgroundProcessManager?: BackgroundProcessManager,
455 sessionUsageService?: SessionUsageService,
456 workspaceMcpOverridesService?: WorkspaceMcpOverridesService,
457 policyService?: PolicyService,
458 telemetryService?: TelemetryService,
459 devToolsService?: DevToolsService,
460 opResolver?: ExternalSecretResolver,
461 experimentsService?: ExperimentsService
462 ) {
463 super();
464 // Increase max listeners to accommodate multiple concurrent workspace listeners
465 // Each workspace subscribes to stream events, and we expect >10 concurrent workspaces
466 this.setMaxListeners(50);
467 this.workspaceMcpOverridesService =
468 workspaceMcpOverridesService ?? new WorkspaceMcpOverridesService(config);
469 this.config = config;
470 this.historyService = historyService;
471 this.initStateManager = initStateManager;
472 this.backgroundProcessManager = backgroundProcessManager;
473 this.sessionUsageService = sessionUsageService;
474 this.policyService = policyService;
475 this.telemetryService = telemetryService;
476 this.opResolver = opResolver;
477 this.experimentsService = experimentsService;
478 this.providerService = providerService;
479 this.streamManager = new StreamManager(historyService, sessionUsageService, () =>
480 this.providerService.getConfig()
481 );
482 this.devToolsService = devToolsService;
483 this.providerModelFactory = new ProviderModelFactory(
484 config,
485 providerService,
486 policyService,
487 undefined,
488 devToolsService,
489 opResolver
490 );
491 void this.ensureSessionsDir();
492 this.setupStreamEventForwarding();
493 this.mockModeEnabled = false;
494
495 if (process.env.MUX_MOCK_AI === "1") {
496 log.info("AIService running in MUX_MOCK_AI mode");
497 this.enableMockMode();
498 }
499 }
500
501 setCodexOauthService(service: CodexOauthService): void {
502 this.providerModelFactory.codexOauthService = service;

Callers

nothing calls this directly

Calls 4

ensureSessionsDirMethod · 0.95
enableMockModeMethod · 0.95
getConfigMethod · 0.65

Tested by

no test coverage detected