Updates
Rolling release / release (push) Successful in 6m25s

This commit is contained in:
2026-09-11 20:16:47 -04:00
parent d8d4f18e10
commit 9b1ceda01f
9 changed files with 57 additions and 11 deletions
+7 -1
View File
@@ -54,6 +54,9 @@ export async function serveOnSessionBus(daemon) {
JobProgress(id, pct, label) { return [String(id), Number(pct), String(label)]; }
ComputerStep(json) { return String(json); }
ComputerHighlight(json) { return String(json); }
Thinking(text) { return String(text); }
ToolCall(json) { return String(json); }
ToolResult(json) { return String(json); }
}
Session.configureMembers({
methods: {
@@ -92,6 +95,9 @@ export async function serveOnSessionBus(daemon) {
ComputerStep: { signature: 's' },
ComputerHighlight: { signature: 's' },
ConfirmationRequired: { signature: 'sss' },
Thinking: { signature: 's' },
ToolCall: { signature: 's' },
ToolResult: { signature: 's' },
},
});
const bus = dbus.sessionBus();
@@ -133,7 +139,7 @@ export async function serveOnSessionBus(daemon) {
daemon.on('Token', (token) => iface.Token(token));
daemon.on('Error', (code, message) => iface.Error(code, message));
daemon.on('ConfirmationRequired', (event) => iface.ConfirmationRequired(event?.tool || 'action', JSON.stringify(event?.args || {}), event?.pattern || 'explicit confirmation required'));
for (const signal of ['WakeHeard', 'PartialTranscript', 'FinalTranscript', 'SpeakingLevel', 'ListeningLevel', 'ChipOffered', 'JobProgress', 'ComputerStep', 'ComputerHighlight']) {
for (const signal of ['WakeHeard', 'PartialTranscript', 'FinalTranscript', 'SpeakingLevel', 'ListeningLevel', 'ChipOffered', 'JobProgress', 'ComputerStep', 'ComputerHighlight', 'Thinking', 'ToolCall', 'ToolResult']) {
daemon.on(signal, (...args) => iface[signal](...args));
}
return bus;
+1 -1
View File
@@ -28,7 +28,7 @@ export class HarnessBridge extends EventEmitter {
await closeQvac();
throw error;
}
for (const event of ['agent_message_chunk', 'tool_call', 'permission', 'ask_user', 'cap-chunk', 'error']) {
for (const event of ['agent_message_chunk', 'agent_thought_chunk', 'tool_call', 'tool_result', 'permission', 'ask_user', 'cap-chunk', 'error']) {
this.session.on(event, (payload) => {
if (event === 'agent_message_chunk' && payload?.text) {
const parsed = parseHudSidecar(payload.text);
+3
View File
@@ -40,6 +40,9 @@ export class JarvisDaemon extends EventEmitter {
this.telemetry = new RuntimeTelemetry();
this._telemetryTimer = setInterval(() => this.telemetry.sample(), 60_000); this._telemetryTimer.unref?.();
this.harness.on('agent_message_chunk', (ev) => this.emit('Token', ev?.text || ev?.delta || ''));
this.harness.on('agent_thought_chunk', (ev) => this.emit('Thinking', String(ev?.text || ev?.delta || '')));
this.harness.on('tool_call', (ev) => this.emit('ToolCall', JSON.stringify({ name: ev?.call?.name || 'tool', arguments: ev?.call?.arguments || {} })));
this.harness.on('tool_result', (ev) => this.emit('ToolResult', JSON.stringify({ name: ev?.name || 'tool', result: ev?.result || '', toolCallId: ev?.toolCallId || '' })));
this.harness.on('permission', (ev) => this.emit('ConfirmationRequired', ev));
this.harness.on('hud_sidecar', (ev) => this.emit('ChipOffered', 'sidecar', ev?.title || 'Suggested action', JSON.stringify(ev || {})));
}