removeTools method

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

Implementation

Future<void> removeTools(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 removed because it is not attached");
    }
  }

  for (final tool in tools) {
    this._tools.remove(tool.metadata.name);
  }

  updateSession(RealtimeSession(tools: [...this._tools.values.map((t) => t.metadata)]));
}