Run.fromJson constructor

Run.fromJson(
  1. Map<String, dynamic> json
)

Creates a Run from JSON.

Implementation

factory Run.fromJson(Map<String, dynamic> json) {
  return Run(
    id: json['id'] as String,
    object: json['object'] as String,
    createdAt: json['created_at'] as int,
    threadId: json['thread_id'] as String,
    assistantId: json['assistant_id'] as String,
    status: RunStatus.fromJson(json['status'] as String),
    requiredAction: json['required_action'] != null
        ? RequiredAction.fromJson(
            json['required_action'] as Map<String, dynamic>,
          )
        : null,
    lastError: json['last_error'] != null
        ? RunError.fromJson(json['last_error'] as Map<String, dynamic>)
        : null,
    expiresAt: json['expires_at'] as int?,
    startedAt: json['started_at'] as int?,
    cancelledAt: json['cancelled_at'] as int?,
    failedAt: json['failed_at'] as int?,
    completedAt: json['completed_at'] as int?,
    incompleteDetails: json['incomplete_details'] != null
        ? RunIncompleteDetails.fromJson(
            json['incomplete_details'] as Map<String, dynamic>,
          )
        : null,
    model: json['model'] as String,
    instructions: json['instructions'] as String?,
    tools: (json['tools'] as List<dynamic>)
        .map((e) => AssistantTool.fromJson(e as Map<String, dynamic>))
        .toList(),
    metadata:
        (json['metadata'] as Map<String, dynamic>?)?.cast<String, String>() ??
        {},
    usage: json['usage'] != null
        ? Usage.fromJson(json['usage'] as Map<String, dynamic>)
        : null,
    temperature: (json['temperature'] as num?)?.toDouble(),
    topP: (json['top_p'] as num?)?.toDouble(),
    maxPromptTokens: json['max_prompt_tokens'] as int?,
    maxCompletionTokens: json['max_completion_tokens'] as int?,
    truncationStrategy: json['truncation_strategy'] != null
        ? TruncationStrategy.fromJson(
            json['truncation_strategy'] as Map<String, dynamic>,
          )
        : null,
    toolChoice: json['tool_choice'] != null
        ? ToolChoice.fromJson(json['tool_choice'])
        : null,
    parallelToolCalls: json['parallel_tool_calls'] as bool?,
    responseFormat: _parseResponseFormat(json['response_format']),
  );
}