fix(agent): add getMessages method and fix TypeScript errors
- Add getMessages() to Agent and AsyncAgent for retrieving session history - Fix type annotations in hub.ts for AgentMessage handling - Remove duplicate type export in preload.ts Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
fbe55ab11e
commit
a098a78942
4 changed files with 15 additions and 6 deletions
|
|
@ -341,13 +341,13 @@ export function registerHubIpcHandlers(): void {
|
|||
}
|
||||
|
||||
try {
|
||||
const sessionMessages = await agent.getMessages()
|
||||
const sessionMessages = agent.getMessages()
|
||||
const messages = sessionMessages
|
||||
.filter((m) => m.role === 'user' || m.role === 'assistant')
|
||||
.map((m, i) => ({
|
||||
id: `history-${i}-${Date.now()}`,
|
||||
role: m.role as 'user' | 'assistant',
|
||||
content: extractTextContent(m.content),
|
||||
content: extractTextContent((m as { content?: unknown }).content),
|
||||
agentId,
|
||||
}))
|
||||
.filter((m) => m.content.length > 0)
|
||||
|
|
|
|||
|
|
@ -159,9 +159,6 @@ const electronAPI = {
|
|||
// Expose to renderer
|
||||
contextBridge.exposeInMainWorld('electronAPI', electronAPI)
|
||||
|
||||
// Re-export LocalChatEvent type for use in renderer
|
||||
export type { LocalChatEvent }
|
||||
|
||||
// Also expose ipcRenderer for backward compatibility
|
||||
contextBridge.exposeInMainWorld('ipcRenderer', {
|
||||
on(...args: Parameters<typeof ipcRenderer.on>) {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import { v7 as uuidv7 } from "uuid";
|
||||
import type { AgentEvent } from "@mariozechner/pi-agent-core";
|
||||
import type { AgentEvent, AgentMessage } from "@mariozechner/pi-agent-core";
|
||||
import { Agent } from "./runner.js";
|
||||
import { Channel } from "./channel.js";
|
||||
import type { AgentOptions, Message } from "./types.js";
|
||||
|
|
@ -214,4 +214,11 @@ export class AsyncAgent {
|
|||
reloadSystemPrompt(): void {
|
||||
this.agent.reloadSystemPrompt();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get all messages from the current session.
|
||||
*/
|
||||
getMessages(): AgentMessage[] {
|
||||
return this.agent.getMessages();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -482,6 +482,11 @@ export class Agent {
|
|||
return this.agent.state.tools?.map(t => t.name) ?? [];
|
||||
}
|
||||
|
||||
/** Get all messages from the current session */
|
||||
getMessages(): AgentMessage[] {
|
||||
return this.agent.state.messages.slice();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get all skills with their eligibility status.
|
||||
* Returns empty array if skills are disabled.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue