MCPcopy
hub / github.com/simstudioai/sim / loadExecutionModule

Function loadExecutionModule

apps/sim/lib/execution/isolated-vm.test.ts:213–275  ·  view source on GitHub ↗
(options: {
  envOverrides?: Record<string, string>
  spawns: SpawnFactory[]
  redisEvalImpl?: RedisEval
  secureFetchImpl?: SecureFetchImpl
})

Source from the content-addressed store, hash-verified

211}))
212
213async function loadExecutionModule(options: {
214 envOverrides?: Record<string, string>
215 spawns: SpawnFactory[]
216 redisEvalImpl?: RedisEval
217 secureFetchImpl?: SecureFetchImpl
218}) {
219 const spawnQueue = [...options.spawns]
220 mockSpawn.mockImplementation(() => {
221 const next = spawnQueue.shift()
222 if (!next) {
223 throw new Error('No mock spawn factory configured')
224 }
225 return next() as ReturnType<typeof mockSpawn>
226 })
227
228 if (options.secureFetchImpl) {
229 mockSecureFetch.mockImplementation(options.secureFetchImpl)
230 } else {
231 mockSecureFetch.mockImplementation(async () => ({
232 ok: true,
233 status: 200,
234 statusText: 'OK',
235 headers: new Map<string, string>(),
236 text: async () => '',
237 json: async () => ({}),
238 arrayBuffer: async () => new ArrayBuffer(0),
239 }))
240 }
241
242 Object.assign(mockEnv, {
243 IVM_POOL_SIZE: '1',
244 IVM_MAX_CONCURRENT: '100',
245 IVM_MAX_PER_WORKER: '100',
246 IVM_WORKER_IDLE_TIMEOUT_MS: '60000',
247 IVM_MAX_QUEUE_SIZE: '10',
248 IVM_MAX_ACTIVE_PER_OWNER: '100',
249 IVM_MAX_QUEUED_PER_OWNER: '10',
250 IVM_MAX_OWNER_WEIGHT: '5',
251 IVM_DISTRIBUTED_MAX_INFLIGHT_PER_OWNER: '100',
252 IVM_DISTRIBUTED_LEASE_MIN_TTL_MS: '1000',
253 IVM_QUEUE_TIMEOUT_MS: '1000',
254 IVM_MAX_FETCH_RESPONSE_BYTES: '',
255 IVM_MAX_FETCH_RESPONSE_CHARS: '',
256 IVM_MAX_FETCH_URL_LENGTH: '',
257 IVM_MAX_FETCH_OPTIONS_JSON_CHARS: '',
258 REDIS_URL: '',
259 ...(options.envOverrides ?? {}),
260 })
261
262 const redisEval = options.redisEvalImpl ? vi.fn(options.redisEvalImpl) : undefined
263 mockGetRedisClient.mockImplementation(() =>
264 redisEval
265 ? ({
266 eval: redisEval,
267 } as unknown)
268 : null
269 )
270

Callers 1

Calls 1

shiftMethod · 0.80

Tested by

no test coverage detected