(
muxHomePath: string,
metadata: WorkspaceMetadata,
options?: {
routeProvider?: ProviderName;
allTools?: Record<string, Tool>;
postPolicyTools?: Record<string, Tool>;
sessionUsageService?: SessionUsageService;
effectiveModelString?: string;
canonicalProviderName?: ProviderName;
canonicalModelId?: string;
useRequestedModelString?: boolean;
experimentsService?: ExperimentsService;
}
)
| 1204 | } |
| 1205 | |
| 1206 | function createHarness( |
| 1207 | muxHomePath: string, |
| 1208 | metadata: WorkspaceMetadata, |
| 1209 | options?: { |
| 1210 | routeProvider?: ProviderName; |
| 1211 | allTools?: Record<string, Tool>; |
| 1212 | postPolicyTools?: Record<string, Tool>; |
| 1213 | sessionUsageService?: SessionUsageService; |
| 1214 | effectiveModelString?: string; |
| 1215 | canonicalProviderName?: ProviderName; |
| 1216 | canonicalModelId?: string; |
| 1217 | useRequestedModelString?: boolean; |
| 1218 | experimentsService?: ExperimentsService; |
| 1219 | } |
| 1220 | ): StreamMessageHarness { |
| 1221 | const { config, historyService, initStateManager, service } = createBasicAIService( |
| 1222 | muxHomePath, |
| 1223 | { |
| 1224 | sessionUsageService: options?.sessionUsageService, |
| 1225 | experimentsService: options?.experimentsService, |
| 1226 | } |
| 1227 | ); |
| 1228 | const planPayloadMessageIds: string[][] = []; |
| 1229 | const preparedPayloadMessageIds: string[][] = []; |
| 1230 | const preparedToolNamesForSentinel: string[][] = []; |
| 1231 | const streamSystemContextMuxScopes: MuxToolScope[] = []; |
| 1232 | const streamSystemContextAdvisorFlags: Array<boolean | undefined> = []; |
| 1233 | const streamSystemContextMemoryToolFlags: Array<boolean | undefined> = []; |
| 1234 | const streamSystemContextHotMemoriesBlocks: Array<string | undefined> = []; |
| 1235 | const startStreamCalls: unknown[][] = []; |
| 1236 | |
| 1237 | const getToolsForModelSpy = stubCommonStreamMessageDependencies({ |
| 1238 | service, |
| 1239 | config, |
| 1240 | historyService, |
| 1241 | initStateManager, |
| 1242 | metadata, |
| 1243 | startStreamCalls, |
| 1244 | routeProvider: options?.routeProvider, |
| 1245 | allTools: options?.allTools, |
| 1246 | effectiveModelString: options?.effectiveModelString, |
| 1247 | canonicalProviderName: options?.canonicalProviderName, |
| 1248 | canonicalModelId: options?.canonicalModelId, |
| 1249 | useRequestedModelString: options?.useRequestedModelString, |
| 1250 | onPlanPayloadMessageIds: (messageIds) => planPayloadMessageIds.push(messageIds), |
| 1251 | onBuildStreamSystemContext: (contextArgs) => { |
| 1252 | if (!contextArgs.muxScope) { |
| 1253 | throw new Error("Expected muxScope in stream system context build args"); |
| 1254 | } |
| 1255 | streamSystemContextMuxScopes.push(contextArgs.muxScope); |
| 1256 | streamSystemContextAdvisorFlags.push(contextArgs.advisorToolAvailable); |
| 1257 | streamSystemContextMemoryToolFlags.push(contextArgs.memoryToolAvailable); |
| 1258 | streamSystemContextHotMemoriesBlocks.push(contextArgs.hotMemoriesBlock); |
| 1259 | }, |
| 1260 | onPrepareMessagesForProvider: (pipelineArgs) => { |
| 1261 | preparedPayloadMessageIds.push( |
| 1262 | pipelineArgs.messagesWithSentinel.map((message) => message.id) |
| 1263 | ); |
no test coverage detected