liteagent_sdk_dart 0.1.1 copy "liteagent_sdk_dart: ^0.1.1" to clipboard
liteagent_sdk_dart: ^0.1.1 copied to clipboard

A LiteAgent Dart SDK, easy way to access your agent.

example/example.dart

import 'package:liteagent_sdk_dart/liteagent_sdk_dart.dart';
import 'package:opentool_dart/opentool_dart.dart';

Future<void> main() async {
  String baseUrl = "<BASE_URL>";
  String apiKey = "<API_KEY>";
  String userPrompt = "hi";
  String agentId = "<AGENT_ID>";
  LiteAgentSDK liteAgent = LiteAgentSDK(baseUrl: baseUrl, apiKey: apiKey);
  Session session = await liteAgent.initSession(agentId);
  UserTask userTaskDto = UserTask(content: [Content(type: ContentType.text, message: userPrompt)], stream: true);
  AgentMessageHandler agentMessageHandler = AgentMessageHandlerImpl();
  await liteAgent.chat(session, userTaskDto, agentMessageHandler);
}

class AgentMessageHandlerImpl extends AgentMessageHandler {
  @override
  Future<ToolReturn> onFunctionCall(String sessionId, FunctionCall functionCall) async {
    print(functionCall.toJson().toString());
    return ToolReturn(id: functionCall.id, result: {"name": functionCall.name, "params": {"status": "success"}});
  }

  @override
  Future<void> onDone() async {
    print("[onDone]");
  }

  @override
  Future<void> onError(Exception e) async {
    print("[onError]$e");
  }

  @override
  Future<void> onMessage(String sessionId, AgentMessage agentMessageDto) async {
    print("sessionId: $sessionId, agentMessage: ${agentMessageDto.toJson().toString()}");
  }

  @override
  Future<void> onChunk(String sessionId, AgentMessageChunk agentMessageChunkDto) async {
    print("sessionId: $sessionId, agentMessageChunk: agentMessageChunkDto.toJson().toString()}");
  }
}
0
likes
120
points
54
downloads

Publisher

unverified uploader

Weekly Downloads

A LiteAgent Dart SDK, easy way to access your agent.

Repository (GitHub)

Documentation

API reference

License

MIT (license)

Dependencies

dio, json_annotation, opentool_dart, retrofit

More

Packages that depend on liteagent_sdk_dart