Updates
This commit is contained in:
@@ -1,11 +1,14 @@
|
||||
import { EventEmitter } from 'node:events';
|
||||
import { acquireQvac, closeQvac, releaseQvac, Agent } from './qvac-master.js';
|
||||
import { createRuntimeTools } from '../skills/runtime-tools.js';
|
||||
import { createPhase2Tools } from '../skills/phase2-tools.js';
|
||||
import { createQvacTools } from '../skills/qvac-tools.js';
|
||||
import { VOICE_SYSTEM_PROMPT, parseHudSidecar } from '../skills/voice-prompt.js';
|
||||
|
||||
export class HarnessBridge extends EventEmitter {
|
||||
constructor({ cwd = process.cwd(), model = 'qwen3.5-4b', tools = [], computer, permissionMode = 'ask' } = {}) {
|
||||
super();
|
||||
this.options = { cwd, model, tools: [...createRuntimeTools({ computer }), ...tools], permissionMode, origin: 'jarvis-qvac', system: 'You are Jarvis on a local Ubuntu GNOME desktop. Keep spoken replies short, ground claims in local tool results, and never claim cloud access.' };
|
||||
this.options = { cwd, model, tools: [...createRuntimeTools({ computer }), ...createPhase2Tools({ cwd, computer }), ...createQvacTools(), ...tools], permissionMode, origin: 'jarvis-qvac', system: VOICE_SYSTEM_PROMPT };
|
||||
this.session = null;
|
||||
}
|
||||
|
||||
@@ -23,7 +26,13 @@ export class HarnessBridge extends EventEmitter {
|
||||
throw error;
|
||||
}
|
||||
for (const event of ['agent_message_chunk', 'tool_call', 'permission', 'ask_user', 'cap-chunk', 'error']) {
|
||||
this.session.on(event, (payload) => this.emit(event, payload));
|
||||
this.session.on(event, (payload) => {
|
||||
if (event === 'agent_message_chunk' && payload?.text) {
|
||||
const parsed = parseHudSidecar(payload.text);
|
||||
if (parsed.hud) this.emit('hud_sidecar', parsed.hud);
|
||||
}
|
||||
this.emit(event, payload);
|
||||
});
|
||||
}
|
||||
return this.session;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user