diff --git a/packages/web-ui/src/agent/agent.ts b/packages/web-ui/src/agent/agent.ts index 7e92505e..befc59d1 100644 --- a/packages/web-ui/src/agent/agent.ts +++ b/packages/web-ui/src/agent/agent.ts @@ -54,7 +54,7 @@ export interface AgentOptions { debugListener?: (entry: DebugLogEntry) => void; transport: AgentTransport; // Transform app messages to LLM-compatible messages before sending to transport - messageTransformer?: (messages: AppMessage[]) => Message[]; + messageTransformer?: (messages: AppMessage[]) => Message[] | Promise; } export class Agent { @@ -73,7 +73,7 @@ export class Agent { private abortController?: AbortController; private transport: AgentTransport; private debugListener?: (entry: DebugLogEntry) => void; - private messageTransformer: (messages: AppMessage[]) => Message[]; + private messageTransformer: (messages: AppMessage[]) => Message[] | Promise; constructor(opts: AgentOptions) { this._state = { ...this._state, ...opts.initialState }; @@ -170,7 +170,7 @@ export class Agent { let turnStart = 0; // Transform app messages to LLM-compatible messages - const llmMessages = this.messageTransformer(this._state.messages); + const llmMessages = await this.messageTransformer(this._state.messages); for await (const ev of this.transport.run( llmMessages, diff --git a/packages/web-ui/src/index.ts b/packages/web-ui/src/index.ts index f52c9724..f87009bf 100644 --- a/packages/web-ui/src/index.ts +++ b/packages/web-ui/src/index.ts @@ -78,4 +78,4 @@ export type { Attachment } from "./utils/attachment-utils.js"; export { loadAttachment } from "./utils/attachment-utils.js"; export { clearAuthToken, getAuthToken } from "./utils/auth-token.js"; export { formatCost, formatModelCost, formatTokenCount, formatUsage } from "./utils/format.js"; -export { i18n, setLanguage } from "./utils/i18n.js"; +export { i18n, setLanguage, translations } from "./utils/i18n.js"; diff --git a/packages/web-ui/src/utils/i18n.ts b/packages/web-ui/src/utils/i18n.ts index 279efc0d..b7588935 100644 --- a/packages/web-ui/src/utils/i18n.ts +++ b/packages/web-ui/src/utils/i18n.ts @@ -138,7 +138,7 @@ declare module "@mariozechner/mini-lit" { } } -const translations = { +export const translations = { en: { ...defaultEnglish, Free: "Free",