// @generated by protoc-gen-connect-es v1.3.0 with parameter "target=ts"
// @generated from file flyteidl/service/agent.proto (package flyteidl.service, syntax proto3)
/* eslint-disable */
// @ts-nocheck

import { CreateTaskRequest, CreateTaskResponse, DeleteTaskRequest, DeleteTaskResponse, GetAgentRequest, GetAgentResponse, GetTaskLogsRequest, GetTaskLogsResponse, GetTaskMetricsRequest, GetTaskMetricsResponse, GetTaskRequest, GetTaskResponse, ListAgentsRequest, ListAgentsResponse } from "../admin/agent_pb.js";
import { MethodKind } from "@bufbuild/protobuf";

/**
 * AsyncAgentService defines an RPC Service that allows propeller to send the request to the agent server.
 *
 * @generated from service flyteidl.service.AsyncAgentService
 */
export const AsyncAgentService = {
  typeName: "flyteidl.service.AsyncAgentService",
  methods: {
    /**
     * Send a task create request to the agent server.
     *
     * @generated from rpc flyteidl.service.AsyncAgentService.CreateTask
     */
    createTask: {
      name: "CreateTask",
      I: CreateTaskRequest,
      O: CreateTaskResponse,
      kind: MethodKind.Unary,
    },
    /**
     * Get job status.
     *
     * @generated from rpc flyteidl.service.AsyncAgentService.GetTask
     */
    getTask: {
      name: "GetTask",
      I: GetTaskRequest,
      O: GetTaskResponse,
      kind: MethodKind.Unary,
    },
    /**
     * Delete the task resource.
     *
     * @generated from rpc flyteidl.service.AsyncAgentService.DeleteTask
     */
    deleteTask: {
      name: "DeleteTask",
      I: DeleteTaskRequest,
      O: DeleteTaskResponse,
      kind: MethodKind.Unary,
    },
    /**
     * GetTaskMetrics returns one or more task execution metrics, if available.
     *
     * Errors include
     *  * OutOfRange if metrics are not available for the specified task time range
     *  * various other errors
     *
     * @generated from rpc flyteidl.service.AsyncAgentService.GetTaskMetrics
     */
    getTaskMetrics: {
      name: "GetTaskMetrics",
      I: GetTaskMetricsRequest,
      O: GetTaskMetricsResponse,
      kind: MethodKind.Unary,
    },
    /**
     * GetTaskLogs returns task execution logs, if available.
     *
     * @generated from rpc flyteidl.service.AsyncAgentService.GetTaskLogs
     */
    getTaskLogs: {
      name: "GetTaskLogs",
      I: GetTaskLogsRequest,
      O: GetTaskLogsResponse,
      kind: MethodKind.Unary,
    },
  }
} as const;

/**
 * AgentMetadataService defines an RPC service that is also served over HTTP via grpc-gateway.
 * This service allows propeller or users to get the metadata of agents.
 *
 * @generated from service flyteidl.service.AgentMetadataService
 */
export const AgentMetadataService = {
  typeName: "flyteidl.service.AgentMetadataService",
  methods: {
    /**
     * Fetch a :ref:`ref_flyteidl.admin.Agent` definition.
     *
     * @generated from rpc flyteidl.service.AgentMetadataService.GetAgent
     */
    getAgent: {
      name: "GetAgent",
      I: GetAgentRequest,
      O: GetAgentResponse,
      kind: MethodKind.Unary,
    },
    /**
     * Fetch a list of :ref:`ref_flyteidl.admin.Agent` definitions.
     *
     * @generated from rpc flyteidl.service.AgentMetadataService.ListAgents
     */
    listAgents: {
      name: "ListAgents",
      I: ListAgentsRequest,
      O: ListAgentsResponse,
      kind: MethodKind.Unary,
    },
  }
} as const;

