addTools method

Future<void> addTools(
  1. List<RealtimeFunctionToolHandler> tools
)

Implementation

Future<void> addTools(List<RealtimeFunctionToolHandler> tools) async {
  await _ready;

  for (final tool in tools) {
    if (this._tools.containsKey(tool.metadata.name)) {
      throw new ArgumentError("tool ${tool.metadata.name} cannot be added is already attached");
    }
  }

  for (final tool in tools) {
    this._tools[tool.metadata.name] = tool;
  }
  updateSession(RealtimeSession(tools: [...this._tools.values.map((t) => t.metadata)]));
}