Skip to content

ART Objective-C ADK 1.0.3: File storage, notifications and Swift Package Manager support

Latest

Choose a tag to compare

@sachin854 sachin854 released this 25 Sep 09:59
606de1f

Highlights

  • File storage. Upload, list, fetch and delete files with ARTStorage or the matching Adk methods. Files can belong to your project, an agent, an orchestrator, a conversation thread or a channel. Uploads from disk are streamed and report their progress.
  • Files for AI agents. Attach uploaded files to a message with -[AgentThread run:replyId:fileMeta:completion:]. Channel messages can carry files too, through PushConfig.fileMeta.
  • Conversation status. Agent and orchestrator threads report their status (queued, running, waiting for input, completed, failed). Follow it with listenState: or read it with getState.
  • Notifications (optional add-on). Receive notifications as they arrive, list past ones, mark them as read, send notifications and register devices for push notifications. Install it with -[Adk use:].
  • Swift Package Manager support. Installing with SPM now works. Add the ArtAdkObjC library (and ArtAdkNotifications if you need notifications).
  • Also new: profiles (updateProfile:completion:, connector:error:), setCredentials: and AdkConfig.autoLoadCredsFromJSON, REST call options, removable listeners, complete event data in AgentEventEnvelope.content, and ARTLog.

Changed

  • On targeted channels, push completes once ART confirms delivery. If no confirmation arrives within 50 seconds, it fails with ErrorCodeAckTimeout.
  • Channel messages reach your listeners one at a time, in the order they arrive.
  • Access tokens are renewed 30 seconds before they expire, and simultaneous requests share one renewal.
  • Agent threads include their thread ID in every message. New thread IDs are lowercase UUIDs.

Fixed

  • Installing with Swift Package Manager failed because the headers couldn't be found.
  • Agent responses were empty when the server sent their content as JSON text.
  • pause reconnected by itself after five seconds.
  • -[Subscription thread:] always returned nil on orchestrator-enabled channels.
  • Presence updates on shared-object channels never arrived.
  • Closing one orchestrator thread removed other threads' trace listeners.
  • Data that can't be converted to JSON crashed the app; the ADK now reports an ARTJSONErrorDomain error.
  • Using the ADK from several threads at once could corrupt its internal state.

Upgrading

  • If you switch over AgentEventKind, handle the new AgentEventKindThreadState case or add a default case.
  • push on targeted channels now waits for delivery confirmation. Don't block the UI while it waits, and handle ErrorCodeAckTimeout.
  • listenTrace: is deprecated. Use listenState:.
  • With CocoaPods, run pod install again after updating.

Installation

Swift Package Manager

.package(url: "https://github.com/aiotrixdev/art-objectivec-adk.git", from: "1.0.3")

Add the ArtAdkObjC product (and ArtAdkNotifications if you need notifications), then @import ArtAdk; (and @import ArtAdkNotifications;).

CocoaPods

pod 'ArtAdk', '~> 1.0.3'
pod 'ArtAdk/Notifications', '~> 1.0.3'   # optional

Then @import ArtAdk;.

See the full CHANGELOG for every change.

Full Changelog: 1.0.2...1.0.3