MCPcopy Create free account
hub / github.com/FIND-Lab/AgentWard / constructor

Method constructor

worker/model-worker-manager.ts:67–121  ·  view source on GitHub ↗
(
    options: {
      tmpDir: string;
      config: {
        timeout: number;
        debug: boolean;
        logLevel: string;
      };
    }
  )

Source from the content-addressed store, hash-verified

65 private aesKey: AesKey;
66
67 constructor(
68 options: {
69 tmpDir: string;
70 config: {
71 timeout: number;
72 debug: boolean;
73 logLevel: string;
74 };
75 }
76 ) {
77 this.tmpDir = options.tmpDir;
78 this.timeout = options.config.timeout;
79 this.aesKey = generateKey();
80
81 const shared = new SharedArrayBuffer(SHARED_BUFFER_SIZE);
82 this.view = new Int32Array(shared);
83 this.dataBuffer = new Uint8Array(shared, 4, SHARED_BUFFER_SIZE - 4);
84
85 this.worker = new Worker(new URL('./model-worker.js', import.meta.url), {
86 workerData: {
87 tmpDir: options.tmpDir,
88 config: options.config,
89 aesKey: this.aesKey,
90 shared,
91 },
92 });
93
94 this.worker.on('online', () => {
95 getLogger().info('[WorkerManager] Worker Online');
96 });
97
98 this.worker.on('message', (msg) => {
99 if (msg.type === 'log') {
100 if (msg.level === 'warn') {
101 getLogger().warn(`[WorkerManager] ${msg.message}`);
102 } else if (msg.level === 'error') {
103 getLogger().error(`[WorkerManager] ${msg.message}`);
104 } else {
105 getLogger().info(`[WorkerManager] ${msg.message}`);
106 }
107 }
108 });
109
110 this.worker.on('error', (err) => {
111 getLogger().error(`[WorkerManager] Error: ${err}`);
112 this.running = false;
113 });
114
115 this.worker.on('exit', (code) => {
116 getLogger().warn(`[WorkerManager] Worker Exit: ${code}`);
117 this.running = false;
118 });
119
120 getLogger().info('[WorkerManager] Worker Started');
121 }
122
123 call(request: WorkerRequest): WorkerResponse | null {
124 const requestId = request.requestId;

Callers

nothing calls this directly

Calls 2

generateKeyFunction · 0.90
getLoggerFunction · 0.90

Tested by

no test coverage detected