flutter_pipwave_ai_agent 1.3.3 copy "flutter_pipwave_ai_agent: ^1.3.3" to clipboard
flutter_pipwave_ai_agent: ^1.3.3 copied to clipboard

Pipwave AI Agent SDK provides a predesigned graphical user interface (GUI) for user to undergo the AI agent process.

1.3.3 (24th April 2026) #

Changed #

  • Localisation — Migrated all localisation strings from positional arguments to named arguments for improved multi-language support.

Fixed #

  • Chat UI — User-sent message timestamps now display correctly even when the device system clock is inaccurate.

1.3.2 (7th April 2026) #

Changed #

  • Video thumbnails — Replaced video_thumbnail with v_video_compressor for video attachment thumbnail generation; DI and AttachmentThumbnailService updated accordingly.
  • Dependencies — Refreshed pubspec / lockfiles (including JNI-related packages used by the video compressor stack) and minor compatibility updates in media_picker_service.

1.3.1 (1st April 2026) #

Changed #

  • WebView — Replaced webview_flutter with flutter_inappwebview; WebviewPage and dependency lockfiles updated accordingly.

1.3.0 (1st April 2026) #

Changed #

  • Thumbnail compression — Replaced flutter_image_compress with flutter_bicubic_resize for attachment thumbnail generation (lighter dependency surface, bicubic resizing for previews).
  • Tooling — CI and docs updated for Flutter 3.41.6 and Xcode 26.4; dependency bumps across pubspec.yaml / lockfiles.

Fixed #

  • Android (example) — Added Gradle packaging options for JNI libraries so the WebView/native stack resolves duplicate .so files when building the example app.

1.2.0 (24th March 2026) #

Changed #

  • Flutter 3.41 — Align FVM/tooling and the example app (including iOS Runner) with Flutter 3.41; refresh dependency constraints and lockfiles for the current Flutter ecosystem.

Fixed #

  • Bloc — Use explicit context.select<ChatBloc, bool> in InfoFeedback for compatibility with current flutter_bloc inference.
  • Connectivity — Adjust InternetStatus listener typing in ConnectivityService for internet_connection_checker_plus.

1.1.1 (5th March 2026) #

Added #

  • Session token guard — All API calls are now guarded to ensure the session token is not expired. When the token is expired, the SDK automatically invokes onRefreshAccessToken before making requests, preventing unauthorized errors.

Security #

  • MIME validation — Media uploads now use MIME type validation instead of file name extension to block spoofed filenames and prevent malicious file uploads.

1.1.0 (4th March 2026) #

Added #

  • Direct agent support for dedicated agent flows

1.0.0 (23rd January 2026) #

Added #

  • Initial public release of flutter_pipwave_ai_agent SDK
  • Drop-in AI Agent chat UI presented as a modal bottom sheet via FlutterPipwaveAiAgent.instance.launchAiAgent()
  • SDK initialization via initialise() method
  • Orientation management with lockOrientationToPortrait() helper
  • Auth/session configuration via AuthParam class supporting:
    • Session token authentication
    • User ID configuration
    • Locale and supported locales configuration
    • AI Agent name customization
    • Beta flag support
  • Integration callbacks:
    • onRefreshAccessToken callback for refreshing session tokens
    • onLinkTap callback for handling links tapped in the UI
    • termsOfService callback for Terms of Service navigation
  • Avatar customization via AvatarBuilder and SenderType enum
  • Unread count API:
    • getUnreadCountStream() for reactive unread count updates
    • getUnreadCount() for synchronous unread count retrieval
    • resetUnreadCount() for resetting the unread counter
    • Background monitoring via startBackgroundMonitoring() and stopBackgroundMonitoring()
  • Attachment support:
    • Camera capture for photos and videos
    • Gallery/media picker integration
    • File picker support
  • Environment configuration:
    • Staging/production endpoint selection via --dart-define=pw_ai_agent_is_prod=true
  • Error handling with PipwaveException class:
    • PipwaveException.sessionNotInitialised() for uninitialized session errors
    • PipwaveException.contextNotMounted() for context mounting errors
    • PipwaveException.wsError() for WebSocket errors
  • Localization support via flutter_pipwave_localization package
  • Platform-specific documentation for Android and iOS permissions