Commit Graph

12 Commits

  • Complete web-ui README rewrite with full API documentation
    - Architecture diagram
    - All components (ChatPanel, AgentInterface)
    - Message types and custom message extension pattern
    - Tools (JavaScript REPL, Extract Document, Artifacts)
    - Storage system (all stores, backends)
    - Attachments processing
    - CORS proxy configuration
    - Dialogs
    - Internationalization
  • Update web-ui CHANGELOG.md and README.md for v0.31.0
    Breaking changes:
    - Agent class moved to @mariozechner/pi-agent-core
    - Transport abstraction removed (ProviderTransport, AppTransport)
    - AppMessage renamed to AgentMessage
    - UserMessageWithAttachments now has role: 'user-with-attachments'
    - CustomMessages interface replaced with CustomAgentMessages
    - agent.appendMessage() removed (use queueMessage())
    - New agent event types from pi-agent-core
    
    Added:
    - defaultConvertToLlm, convertAttachments utilities
    - isUserMessageWithAttachments, isArtifactMessage type guards
    - createStreamFn for CORS proxy support
    - Default streamFn and getApiKey on AgentInterface
    - Proxy utilities exported
    
    README completely rewritten to reflect new architecture.
  • Rename ChromeStorageBackend to WebExtensionStorageBackend for cross-browser support
    - Rename chrome-storage-backend.ts to web-extension-storage-backend.ts
    - Update to use globalThis.browser || globalThis.chrome for Firefox/Chrome compatibility
    - Export both names for backward compatibility
    - Fix tsc --preserveWatchOutput in web-ui dev script to prevent console clearing
    
    This fixes the "browser is not defined" error in Chrome extensions.
  • Clean up browser-extension references from monorepo
    - Update README.md to reference sitegeist repo
    - Update CLAUDE.md to replace browser-extension with web-ui
    - Update packages/web-ui/README.md examples to point to sitegeist
    - Remove browser-extension exclude from tsconfig.json
    - Remove browser-extension from .claude/settings.local.json permissions
  • Fix SessionListDialog behavior and document PersistentStorageDialog bug
    - Fix SessionListDialog to not reload when user selects a session after deleting others
      - Track if dialog closed via selection vs other means
      - Only call delete callback if not closed via selection
      - Batch deletions to avoid reload on every delete
    - Comment out PersistentStorageDialog in both web-ui example and browser extension (TODO: fix)
    - Add Known Bugs section to both README.md files documenting PersistentStorageDialog issue
    - Clean up navigation tracking variable names in browser extension
  • Add custom message extension system with typed renderers and message transformer
    - Implement CustomMessages interface for type-safe message extension via declaration merging
    - Add MessageRenderer<T> with generic typing for custom message rendering
    - Add messageTransformer to Agent for filtering/transforming messages before LLM
    - Move message filtering from transports to Agent (separation of concerns)
    - Add message renderer registry with typed role support
    - Update web-ui example with SystemNotificationMessage demo
    - Add custom transformer that converts notifications to <system> tags
    - Add SessionListDialog onDelete callback for active session cleanup
    - Handle non-existent session IDs in URL (redirect to new session)
    - Update both web-ui example and browser extension with session fixes