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

Function stubCommonStreamMessageDependencies

src/node/services/aiService.test.ts:286–402  ·  view source on GitHub ↗
(args: {
  service: AIService;
  config: Config;
  historyService: HistoryService;
  initStateManager: InitStateManager;
  metadata: WorkspaceMetadata;
  startStreamCalls?: unknown[][];
  routeProvider?: ProviderName;
  allTools?: Record<string, Tool>;
  workspacePathOverride?: string;
  historySequence?: number;
  effectiveModelString?: string;
  canonicalProviderName?: ProviderName;
  canonicalModelId?: string;
  useRequestedModelString?: boolean;
  onPlanPayloadMessageIds?: (messageIds: string[]) => void;
  onBuildStreamSystemContext?: (
    args: Parameters<typeof streamContextBuilder.buildStreamSystemContext>[0]
  ) => void;
  onPrepareMessagesForProvider?: (
    args: Parameters<typeof messagePipeline.prepareMessagesForProvider>[0]
  ) => void;
})

Source from the content-addressed store, hash-verified

284}
285
286function stubCommonStreamMessageDependencies(args: {
287 service: AIService;
288 config: Config;
289 historyService: HistoryService;
290 initStateManager: InitStateManager;
291 metadata: WorkspaceMetadata;
292 startStreamCalls?: unknown[][];
293 routeProvider?: ProviderName;
294 allTools?: Record<string, Tool>;
295 workspacePathOverride?: string;
296 historySequence?: number;
297 effectiveModelString?: string;
298 canonicalProviderName?: ProviderName;
299 canonicalModelId?: string;
300 useRequestedModelString?: boolean;
301 onPlanPayloadMessageIds?: (messageIds: string[]) => void;
302 onBuildStreamSystemContext?: (
303 args: Parameters<typeof streamContextBuilder.buildStreamSystemContext>[0]
304 ) => void;
305 onPrepareMessagesForProvider?: (
306 args: Parameters<typeof messagePipeline.prepareMessagesForProvider>[0]
307 ) => void;
308}): ReturnType<typeof spyOn<typeof toolsModule, "getToolsForModel">> {
309 spyOn(agentResolution, "resolveAgentForStream").mockResolvedValue(
310 resolvedAgentResultFor(args.metadata)
311 );
312 spyOn(streamContextBuilder, "buildPlanInstructions").mockImplementation((planArgs) => {
313 args.onPlanPayloadMessageIds?.(planArgs.requestPayloadMessages.map((message) => message.id));
314 return Promise.resolve({
315 effectiveAdditionalInstructions: undefined,
316 planFilePath: path.join(args.metadata.projectPath, "plan.md"),
317 planContentForTransition: undefined,
318 });
319 });
320 spyOn(streamContextBuilder, "buildStreamSystemContext").mockImplementation((contextArgs) => {
321 args.onBuildStreamSystemContext?.(contextArgs);
322 return Promise.resolve({
323 agentSystemPromptSections: ["test-agent-prompt"],
324 systemMessage: "test-system-message",
325 systemMessageTokens: 1,
326 agentDefinitions: undefined,
327 availableSkills: undefined,
328 ancestorPlanFilePaths: [],
329 });
330 });
331 spyOn(messagePipeline, "prepareMessagesForProvider").mockImplementation((pipelineArgs) => {
332 args.onPrepareMessagesForProvider?.(pipelineArgs);
333 return Promise.resolve(
334 pipelineArgs.messagesWithSentinel as unknown as Awaited<
335 ReturnType<typeof messagePipeline.prepareMessagesForProvider>
336 >
337 );
338 });
339 const getToolsForModelSpy = spyOn(toolsModule, "getToolsForModel").mockResolvedValue(
340 args.allTools ?? {}
341 );
342 spyOn(systemMessageModule, "readToolInstructions").mockResolvedValue({});
343

Callers 1

createHarnessFunction · 0.85

Calls 7

resolvedAgentResultForFunction · 0.85
modelIdFromModelStringFunction · 0.85
resolveMethod · 0.80
getMethod · 0.65
createMethod · 0.65
pushMethod · 0.65

Tested by

no test coverage detected