co-mono/packages/web-ui/CHANGELOG.md
2026-01-22 01:43:26 +01:00

4.8 KiB

Changelog

[Unreleased]

[0.49.3] - 2026-01-22

Changed

  • Updated tsgo to 7.0.0-dev.20260120.1 for decorator support (#873)

[0.49.2] - 2026-01-19

[0.49.1] - 2026-01-18

[0.49.0] - 2026-01-17

[0.48.0] - 2026-01-16

[0.47.0] - 2026-01-16

[0.46.0] - 2026-01-15

[0.45.7] - 2026-01-13

[0.45.6] - 2026-01-13

[0.45.5] - 2026-01-13

[0.45.4] - 2026-01-13

[0.45.3] - 2026-01-13

[0.45.2] - 2026-01-13

[0.45.1] - 2026-01-13

[0.45.0] - 2026-01-13

[0.44.0] - 2026-01-12

[0.43.0] - 2026-01-11

[0.42.5] - 2026-01-11

[0.42.4] - 2026-01-10

[0.42.3] - 2026-01-10

[0.42.2] - 2026-01-10

[0.42.1] - 2026-01-09

[0.42.0] - 2026-01-09

[0.41.0] - 2026-01-09

[0.40.1] - 2026-01-09

[0.40.0] - 2026-01-08

[0.39.1] - 2026-01-08

[0.39.0] - 2026-01-08

[0.38.0] - 2026-01-08

[0.37.8] - 2026-01-07

[0.37.7] - 2026-01-07

[0.37.6] - 2026-01-06

[0.37.5] - 2026-01-06

[0.37.4] - 2026-01-06

[0.37.3] - 2026-01-06

[0.37.2] - 2026-01-05

[0.37.1] - 2026-01-05

[0.37.0] - 2026-01-05

[0.36.0] - 2026-01-05

[0.35.0] - 2026-01-05

[0.34.2] - 2026-01-04

[0.34.1] - 2026-01-04

[0.34.0] - 2026-01-04

[0.33.0] - 2026-01-04

[0.32.3] - 2026-01-03

[0.32.2] - 2026-01-03

[0.32.1] - 2026-01-03

[0.32.0] - 2026-01-03

[0.31.1] - 2026-01-02

[0.31.0] - 2026-01-02

Breaking Changes

  • Agent class moved to @mariozechner/pi-agent-core: The Agent class, AgentState, and related types are no longer exported from this package. Import them from @mariozechner/pi-agent-core instead.

  • Transport abstraction removed: ProviderTransport, AppTransport, AgentTransport interface, and related types have been removed. The Agent class now uses streamFn for custom streaming.

  • AppMessage renamed to AgentMessage: Now imported from @mariozechner/pi-agent-core. Custom message types use declaration merging on CustomAgentMessages interface.

  • UserMessageWithAttachments is now a custom message type: Has role: "user-with-attachments" instead of role: "user". Use isUserMessageWithAttachments() type guard.

  • CustomMessages interface removed: Use declaration merging on CustomAgentMessages from @mariozechner/pi-agent-core instead.

  • agent.appendMessage() removed: Use agent.queueMessage() instead.

  • Agent event types changed: AgentInterface now handles new event types from @mariozechner/pi-agent-core: message_start, message_end, message_update, turn_start, turn_end, agent_start, agent_end.

Added

  • defaultConvertToLlm: Default message transformer that handles UserMessageWithAttachments and ArtifactMessage. Apps can extend this for custom message types.

  • convertAttachments: Utility to convert Attachment[] to LLM content blocks (images and extracted document text).

  • isUserMessageWithAttachments / isArtifactMessage: Type guard functions for custom message types.

  • createStreamFn: Creates a stream function with CORS proxy support. Reads proxy settings on each call for dynamic configuration.

  • Default streamFn and getApiKey: AgentInterface now sets sensible defaults if not provided:

    • streamFn: Uses createStreamFn with proxy settings from storage
    • getApiKey: Reads from providerKeys storage
  • Proxy utilities exported: applyProxyIfNeeded, shouldUseProxyForProvider, isCorsError, createStreamFn

Removed

  • Agent class (moved to @mariozechner/pi-agent-core)
  • ProviderTransport class
  • AppTransport class
  • AgentTransport interface
  • AgentRunConfig type
  • ProxyAssistantMessageEvent type
  • test-sessions.ts example file

Migration Guide

Before (0.30.x):

import { Agent, ProviderTransport, type AppMessage } from '@mariozechner/pi-web-ui';

const agent = new Agent({
  transport: new ProviderTransport(),
  messageTransformer: (messages: AppMessage[]) => messages.filter(...)
});

After:

import { Agent, type AgentMessage } from '@mariozechner/pi-agent-core';
import { defaultConvertToLlm } from '@mariozechner/pi-web-ui';

const agent = new Agent({
  convertToLlm: (messages: AgentMessage[]) => {
    // Extend defaultConvertToLlm for custom types
    return defaultConvertToLlm(messages);
  }
});
// AgentInterface will set streamFn and getApiKey defaults automatically

Custom message types:

// Before: declaration merging on CustomMessages
declare module "@mariozechner/pi-web-ui" {
  interface CustomMessages {
    "my-message": MyMessage;
  }
}

// After: declaration merging on CustomAgentMessages
declare module "@mariozechner/pi-agent-core" {
  interface CustomAgentMessages {
    "my-message": MyMessage;
  }
}