diff --git a/VERSION b/VERSION
index 30ba6e7..fe6d2ac 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-10.8.7
+10.9.0
diff --git a/src/Clarifai/Api/Concept.php b/src/Clarifai/Api/Concept.php
index f848667..55dc061 100644
--- a/src/Clarifai/Api/Concept.php
+++ b/src/Clarifai/Api/Concept.php
@@ -105,6 +105,12 @@ class Concept extends \Google\Protobuf\Internal\Message
* Generated from protobuf field .google.protobuf.Struct metadata = 13;
*/
protected $metadata = null;
+ /**
+ * Representative image for the concept
+ *
+ * Generated from protobuf field .clarifai.api.Image image = 22;
+ */
+ protected $image = null;
/**
* Constructor.
@@ -150,6 +156,8 @@ class Concept extends \Google\Protobuf\Internal\Message
* @type \Google\Protobuf\Struct $metadata
* To handle arbitrary json metadata:
* https://github.com/google/protobuf/blob/master/src/google/protobuf/struct.proto
+ * @type \Clarifai\Api\Image $image
+ * Representative image for the concept
* }
*/
public function __construct($data = NULL) {
@@ -569,5 +577,41 @@ public function setMetadata($var)
return $this;
}
+ /**
+ * Representative image for the concept
+ *
+ * Generated from protobuf field .clarifai.api.Image image = 22;
+ * @return \Clarifai\Api\Image|null
+ */
+ public function getImage()
+ {
+ return $this->image;
+ }
+
+ public function hasImage()
+ {
+ return isset($this->image);
+ }
+
+ public function clearImage()
+ {
+ unset($this->image);
+ }
+
+ /**
+ * Representative image for the concept
+ *
+ * Generated from protobuf field .clarifai.api.Image image = 22;
+ * @param \Clarifai\Api\Image $var
+ * @return $this
+ */
+ public function setImage($var)
+ {
+ GPBUtil::checkMessage($var, \Clarifai\Api\Image::class);
+ $this->image = $var;
+
+ return $this;
+ }
+
}
diff --git a/src/Clarifai/Api/ListDeploymentsRequest.php b/src/Clarifai/Api/ListDeploymentsRequest.php
index fc5f1f6..b8e8a2b 100644
--- a/src/Clarifai/Api/ListDeploymentsRequest.php
+++ b/src/Clarifai/Api/ListDeploymentsRequest.php
@@ -37,6 +37,18 @@ class ListDeploymentsRequest extends \Google\Protobuf\Internal\Message
* Generated from protobuf field uint32 per_page = 4;
*/
protected $per_page = 0;
+ /**
+ * (optional URL parameter) ModelVersion IDs. To list all deployments for the model version
+ *
+ * Generated from protobuf field repeated string model_version_ids = 5;
+ */
+ private $model_version_ids;
+ /**
+ * (optional URL parameter) WorkflowVersion IDs. To list all deployments for the workflow version
+ *
+ * Generated from protobuf field repeated string workflow_version_ids = 6;
+ */
+ private $workflow_version_ids;
/**
* Constructor.
@@ -53,6 +65,10 @@ class ListDeploymentsRequest extends \Google\Protobuf\Internal\Message
* @type int $per_page
* (optional URL parameter) The number of results that will be contained in each page. Defaults
* to 128.
+ * @type array|\Google\Protobuf\Internal\RepeatedField $model_version_ids
+ * (optional URL parameter) ModelVersion IDs. To list all deployments for the model version
+ * @type array|\Google\Protobuf\Internal\RepeatedField $workflow_version_ids
+ * (optional URL parameter) WorkflowVersion IDs. To list all deployments for the workflow version
* }
*/
public function __construct($data = NULL) {
@@ -174,5 +190,57 @@ public function setPerPage($var)
return $this;
}
+ /**
+ * (optional URL parameter) ModelVersion IDs. To list all deployments for the model version
+ *
+ * Generated from protobuf field repeated string model_version_ids = 5;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getModelVersionIds()
+ {
+ return $this->model_version_ids;
+ }
+
+ /**
+ * (optional URL parameter) ModelVersion IDs. To list all deployments for the model version
+ *
+ * Generated from protobuf field repeated string model_version_ids = 5;
+ * @param array|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setModelVersionIds($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::STRING);
+ $this->model_version_ids = $arr;
+
+ return $this;
+ }
+
+ /**
+ * (optional URL parameter) WorkflowVersion IDs. To list all deployments for the workflow version
+ *
+ * Generated from protobuf field repeated string workflow_version_ids = 6;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getWorkflowVersionIds()
+ {
+ return $this->workflow_version_ids;
+ }
+
+ /**
+ * (optional URL parameter) WorkflowVersion IDs. To list all deployments for the workflow version
+ *
+ * Generated from protobuf field repeated string workflow_version_ids = 6;
+ * @param array|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setWorkflowVersionIds($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::STRING);
+ $this->workflow_version_ids = $arr;
+
+ return $this;
+ }
+
}
diff --git a/src/Clarifai/Api/ListWorkflowEvaluationTemplatesRequest.php b/src/Clarifai/Api/ListWorkflowEvaluationTemplatesRequest.php
new file mode 100644
index 0000000..ce95f06
--- /dev/null
+++ b/src/Clarifai/Api/ListWorkflowEvaluationTemplatesRequest.php
@@ -0,0 +1,31 @@
+clarifai.api.ListWorkflowEvaluationTemplatesRequest
+ */
+class ListWorkflowEvaluationTemplatesRequest extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Proto\Clarifai\Api\Service::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Clarifai/Api/MultiWorkflowEvaluationTemplateResponse.php b/src/Clarifai/Api/MultiWorkflowEvaluationTemplateResponse.php
new file mode 100644
index 0000000..321adac
--- /dev/null
+++ b/src/Clarifai/Api/MultiWorkflowEvaluationTemplateResponse.php
@@ -0,0 +1,95 @@
+clarifai.api.MultiWorkflowEvaluationTemplateResponse
+ */
+class MultiWorkflowEvaluationTemplateResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Generated from protobuf field .clarifai.api.status.Status status = 1;
+ */
+ protected $status = null;
+ /**
+ * Generated from protobuf field repeated .clarifai.api.WorkflowVersionEvaluationTemplate workflow_version_evaluation_templates = 2;
+ */
+ private $workflow_version_evaluation_templates;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Clarifai\Api\Status\Status $status
+ * @type array<\Clarifai\Api\WorkflowVersionEvaluationTemplate>|\Google\Protobuf\Internal\RepeatedField $workflow_version_evaluation_templates
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Proto\Clarifai\Api\Service::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Generated from protobuf field .clarifai.api.status.Status status = 1;
+ * @return \Clarifai\Api\Status\Status|null
+ */
+ public function getStatus()
+ {
+ return $this->status;
+ }
+
+ public function hasStatus()
+ {
+ return isset($this->status);
+ }
+
+ public function clearStatus()
+ {
+ unset($this->status);
+ }
+
+ /**
+ * Generated from protobuf field .clarifai.api.status.Status status = 1;
+ * @param \Clarifai\Api\Status\Status $var
+ * @return $this
+ */
+ public function setStatus($var)
+ {
+ GPBUtil::checkMessage($var, \Clarifai\Api\Status\Status::class);
+ $this->status = $var;
+
+ return $this;
+ }
+
+ /**
+ * Generated from protobuf field repeated .clarifai.api.WorkflowVersionEvaluationTemplate workflow_version_evaluation_templates = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getWorkflowVersionEvaluationTemplates()
+ {
+ return $this->workflow_version_evaluation_templates;
+ }
+
+ /**
+ * Generated from protobuf field repeated .clarifai.api.WorkflowVersionEvaluationTemplate workflow_version_evaluation_templates = 2;
+ * @param array<\Clarifai\Api\WorkflowVersionEvaluationTemplate>|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setWorkflowVersionEvaluationTemplates($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Clarifai\Api\WorkflowVersionEvaluationTemplate::class);
+ $this->workflow_version_evaluation_templates = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Clarifai/Api/PutTaskAssignmentsRequestAction.php b/src/Clarifai/Api/PutTaskAssignmentsRequestAction.php
index 1862ed1..c30c456 100644
--- a/src/Clarifai/Api/PutTaskAssignmentsRequestAction.php
+++ b/src/Clarifai/Api/PutTaskAssignmentsRequestAction.php
@@ -40,15 +40,9 @@ class PutTaskAssignmentsRequestAction
*/
const LABEL_SUBMIT = 2;
/**
- * Return a list of task assignments for reviewer to review => 10 inputs are assigned to the reviewer.
+ * Assign task assignments for reviewer to review => 10 task assignments are assigned to the reviewer.
* This is a fully sync action.
- * NOT idempotent:
- * In the current implementation, we don't actually store the reviewer in the task assignment,
- * as the task assignment still stays assigned to the labeler.
- * Therefore, multiple calls to this endpoint may result in different set of task assignments to review.
- * For now, this action is practically not idempotent.
- * In the future, we could however store the reviewer in the task assignment and
- * return existing task assignments already assigned to the reviewer => this will make this action idempotent.
+ * If task assignments are already assigned for review, then return existing task assignments.
*
* Generated from protobuf enum REVIEW_START = 10;
*/
diff --git a/src/Clarifai/Api/Status/StatusCode.php b/src/Clarifai/Api/Status/StatusCode.php
index fac9e6f..ebb7248 100644
--- a/src/Clarifai/Api/Status/StatusCode.php
+++ b/src/Clarifai/Api/Status/StatusCode.php
@@ -1428,6 +1428,8 @@ class StatusCode
*/
const TASK_PERMISSION_DENIED = 54103;
/**
+ * Task Assignments 542xx
+ *
* Generated from protobuf enum TASK_ASSIGNMENT_SUCCESS = 54200;
*/
const TASK_ASSIGNMENT_SUCCESS = 54200;
@@ -1444,9 +1446,23 @@ class StatusCode
*/
const TASK_ASSIGNMENT_AWAITING_CONSENSUS_REVIEW = 54203;
/**
- * Generated from protobuf enum TASK_ASSIGNMENT_REVIEW_DENIED = 54204;
+ * Generated from protobuf enum TASK_ASSIGNMENT_REJECTED = 54204;
+ */
+ const TASK_ASSIGNMENT_REJECTED = 54204;
+ /**
+ * Task Assignment Reviews 543xx
+ *
+ * Generated from protobuf enum TASK_ASSIGNMENT_REVIEW_SUCCESS = 54300;
+ */
+ const TASK_ASSIGNMENT_REVIEW_SUCCESS = 54300;
+ /**
+ * Generated from protobuf enum TASK_ASSIGNMENT_REVIEW_PENDING = 54301;
+ */
+ const TASK_ASSIGNMENT_REVIEW_PENDING = 54301;
+ /**
+ * Generated from protobuf enum TASK_ASSIGNMENT_REVIEW_DISMISSED = 54302;
*/
- const TASK_ASSIGNMENT_REVIEW_DENIED = 54204;
+ const TASK_ASSIGNMENT_REVIEW_DISMISSED = 54302;
/**
* Label Order Related Status Code 55xxx
*
@@ -2096,7 +2112,10 @@ class StatusCode
self::TASK_ASSIGNMENT_PENDING => 'TASK_ASSIGNMENT_PENDING',
self::TASK_ASSIGNMENT_AWAITING_REVIEW => 'TASK_ASSIGNMENT_AWAITING_REVIEW',
self::TASK_ASSIGNMENT_AWAITING_CONSENSUS_REVIEW => 'TASK_ASSIGNMENT_AWAITING_CONSENSUS_REVIEW',
- self::TASK_ASSIGNMENT_REVIEW_DENIED => 'TASK_ASSIGNMENT_REVIEW_DENIED',
+ self::TASK_ASSIGNMENT_REJECTED => 'TASK_ASSIGNMENT_REJECTED',
+ self::TASK_ASSIGNMENT_REVIEW_SUCCESS => 'TASK_ASSIGNMENT_REVIEW_SUCCESS',
+ self::TASK_ASSIGNMENT_REVIEW_PENDING => 'TASK_ASSIGNMENT_REVIEW_PENDING',
+ self::TASK_ASSIGNMENT_REVIEW_DISMISSED => 'TASK_ASSIGNMENT_REVIEW_DISMISSED',
self::LABEL_ORDER_PENDING => 'LABEL_ORDER_PENDING',
self::LABEL_ORDER_IN_PROGRESS => 'LABEL_ORDER_IN_PROGRESS',
self::LABEL_ORDER_SUCCESS => 'LABEL_ORDER_SUCCESS',
diff --git a/src/Clarifai/Api/Task.php b/src/Clarifai/Api/Task.php
index a625e5f..f50c278 100644
--- a/src/Clarifai/Api/Task.php
+++ b/src/Clarifai/Api/Task.php
@@ -55,13 +55,6 @@ class Task extends \Google\Protobuf\Internal\Message
* Generated from protobuf field .clarifai.api.TaskWorker worker = 6;
*/
protected $worker = null;
- /**
- * Who is doing annotations - human Worker or auto-annotation via Model/Workflow.
- * If set, worker must have be set accordingly to either human worker or model/workflow worker
- *
- * Generated from protobuf field .clarifai.api.Task.WorkerType worker_type = 22;
- */
- protected $worker_type = 0;
/**
* List of concept ids used in the work of this task.
* DEPRECATED: Use task.concepts instead.
@@ -184,9 +177,6 @@ class Task extends \Google\Protobuf\Internal\Message
* Description of the task.
* @type \Clarifai\Api\TaskWorker $worker
* Worker details.
- * @type int $worker_type
- * Who is doing annotations - human Worker or auto-annotation via Model/Workflow.
- * If set, worker must have be set accordingly to either human worker or model/workflow worker
* @type array|\Google\Protobuf\Internal\RepeatedField $concept_ids
* List of concept ids used in the work of this task.
* DEPRECATED: Use task.concepts instead.
@@ -423,34 +413,6 @@ public function setWorker($var)
return $this;
}
- /**
- * Who is doing annotations - human Worker or auto-annotation via Model/Workflow.
- * If set, worker must have be set accordingly to either human worker or model/workflow worker
- *
- * Generated from protobuf field .clarifai.api.Task.WorkerType worker_type = 22;
- * @return int
- */
- public function getWorkerType()
- {
- return $this->worker_type;
- }
-
- /**
- * Who is doing annotations - human Worker or auto-annotation via Model/Workflow.
- * If set, worker must have be set accordingly to either human worker or model/workflow worker
- *
- * Generated from protobuf field .clarifai.api.Task.WorkerType worker_type = 22;
- * @param int $var
- * @return $this
- */
- public function setWorkerType($var)
- {
- GPBUtil::checkEnum($var, \Clarifai\Api\Task\WorkerType::class);
- $this->worker_type = $var;
-
- return $this;
- }
-
/**
* List of concept ids used in the work of this task.
* DEPRECATED: Use task.concepts instead.
diff --git a/src/Clarifai/Api/TaskReview/TaskReviewStrategy.php b/src/Clarifai/Api/TaskReview/TaskReviewStrategy.php
index c365a7d..c8406df 100644
--- a/src/Clarifai/Api/TaskReview/TaskReviewStrategy.php
+++ b/src/Clarifai/Api/TaskReview/TaskReviewStrategy.php
@@ -17,18 +17,20 @@ class TaskReviewStrategy
const TASK_REVIEW_STRATEGY_NOT_SET = 0;
/**
* No review is needed.
+ * When a labeler labels an input, the annotations are immediately approved.
*
* Generated from protobuf enum NONE = 1;
*/
const NONE = 1;
/**
- * Manual review strategy.
+ * Human reviewers will review the work done by labelers.
*
* Generated from protobuf enum MANUAL = 2;
*/
const MANUAL = 2;
/**
- * Consensus review strategy.
+ * Automatically approve inputs when labelers reach consensus.
+ * If consensus is not reached, then it will fallback to human reviewers.
*
* Generated from protobuf enum CONSENSUS = 3;
*/
diff --git a/src/Clarifai/Api/TaskReviewManualStrategyInfo.php b/src/Clarifai/Api/TaskReviewManualStrategyInfo.php
index 42d51bb..f9b80f2 100644
--- a/src/Clarifai/Api/TaskReviewManualStrategyInfo.php
+++ b/src/Clarifai/Api/TaskReviewManualStrategyInfo.php
@@ -21,6 +21,16 @@ class TaskReviewManualStrategyInfo extends \Google\Protobuf\Internal\Message
* Generated from protobuf field float sample_percentage = 1;
*/
protected $sample_percentage = 0.0;
+ /**
+ * The number of reviewers that need to agree in order to approve an input.
+ * Currently, the only allowed values are:
+ * 0 - when not set, it defaults to 1
+ * 1 - only a single reviewer needs to approve each labeled input
+ * -1 - an input will be approved when all reviewers approve it
+ *
+ * Generated from protobuf field int32 approval_threshold = 2;
+ */
+ protected $approval_threshold = 0;
/**
* Constructor.
@@ -30,6 +40,12 @@ class TaskReviewManualStrategyInfo extends \Google\Protobuf\Internal\Message
*
* @type float $sample_percentage
* This field represents the percentage of inputs that will be reviewed by reviewers. It is a value between 0 and 1.
+ * @type int $approval_threshold
+ * The number of reviewers that need to agree in order to approve an input.
+ * Currently, the only allowed values are:
+ * 0 - when not set, it defaults to 1
+ * 1 - only a single reviewer needs to approve each labeled input
+ * -1 - an input will be approved when all reviewers approve it
* }
*/
public function __construct($data = NULL) {
@@ -63,5 +79,39 @@ public function setSamplePercentage($var)
return $this;
}
+ /**
+ * The number of reviewers that need to agree in order to approve an input.
+ * Currently, the only allowed values are:
+ * 0 - when not set, it defaults to 1
+ * 1 - only a single reviewer needs to approve each labeled input
+ * -1 - an input will be approved when all reviewers approve it
+ *
+ * Generated from protobuf field int32 approval_threshold = 2;
+ * @return int
+ */
+ public function getApprovalThreshold()
+ {
+ return $this->approval_threshold;
+ }
+
+ /**
+ * The number of reviewers that need to agree in order to approve an input.
+ * Currently, the only allowed values are:
+ * 0 - when not set, it defaults to 1
+ * 1 - only a single reviewer needs to approve each labeled input
+ * -1 - an input will be approved when all reviewers approve it
+ *
+ * Generated from protobuf field int32 approval_threshold = 2;
+ * @param int $var
+ * @return $this
+ */
+ public function setApprovalThreshold($var)
+ {
+ GPBUtil::checkInt32($var);
+ $this->approval_threshold = $var;
+
+ return $this;
+ }
+
}
diff --git a/src/Clarifai/Api/TaskWorker.php b/src/Clarifai/Api/TaskWorker.php
index 680b2f3..b635672 100644
--- a/src/Clarifai/Api/TaskWorker.php
+++ b/src/Clarifai/Api/TaskWorker.php
@@ -51,6 +51,13 @@ class TaskWorker extends \Google\Protobuf\Internal\Message
* Generated from protobuf field repeated .clarifai.api.Worker workers = 7;
*/
private $workers;
+ /**
+ * Who is doing annotations - human Worker or auto-annotation via Model/Workflow.
+ * If set, worker must have be set accordingly to either human worker or model/workflow worker
+ *
+ * Generated from protobuf field .clarifai.api.TaskWorker.WorkerType type = 8;
+ */
+ protected $type = 0;
protected $strategy_info;
/**
@@ -78,6 +85,9 @@ class TaskWorker extends \Google\Protobuf\Internal\Message
* For manual labeling Tasks:
* the workers can only be users;
* no limitation on number of workers.
+ * @type int $type
+ * Who is doing annotations - human Worker or auto-annotation via Model/Workflow.
+ * If set, worker must have be set accordingly to either human worker or model/workflow worker
* }
*/
public function __construct($data = NULL) {
@@ -244,6 +254,34 @@ public function setWorkers($var)
return $this;
}
+ /**
+ * Who is doing annotations - human Worker or auto-annotation via Model/Workflow.
+ * If set, worker must have be set accordingly to either human worker or model/workflow worker
+ *
+ * Generated from protobuf field .clarifai.api.TaskWorker.WorkerType type = 8;
+ * @return int
+ */
+ public function getType()
+ {
+ return $this->type;
+ }
+
+ /**
+ * Who is doing annotations - human Worker or auto-annotation via Model/Workflow.
+ * If set, worker must have be set accordingly to either human worker or model/workflow worker
+ *
+ * Generated from protobuf field .clarifai.api.TaskWorker.WorkerType type = 8;
+ * @param int $var
+ * @return $this
+ */
+ public function setType($var)
+ {
+ GPBUtil::checkEnum($var, \Clarifai\Api\TaskWorker\WorkerType::class);
+ $this->type = $var;
+
+ return $this;
+ }
+
/**
* @return string
*/
diff --git a/src/Clarifai/Api/Task/WorkerType.php b/src/Clarifai/Api/TaskWorker/WorkerType.php
similarity index 90%
rename from src/Clarifai/Api/Task/WorkerType.php
rename to src/Clarifai/Api/TaskWorker/WorkerType.php
index bf8d0ab..b17fba9 100644
--- a/src/Clarifai/Api/Task/WorkerType.php
+++ b/src/Clarifai/Api/TaskWorker/WorkerType.php
@@ -2,12 +2,12 @@
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: proto/clarifai/api/resources.proto
-namespace Clarifai\Api\Task;
+namespace Clarifai\Api\TaskWorker;
use UnexpectedValueException;
/**
- * Protobuf type clarifai.api.Task.WorkerType
+ * Protobuf type clarifai.api.TaskWorker.WorkerType
*/
class WorkerType
{
@@ -58,5 +58,5 @@ public static function value($name)
}
// Adding a class alias for backwards compatibility with the previous class name.
-class_alias(WorkerType::class, \Clarifai\Api\Task_WorkerType::class);
+class_alias(WorkerType::class, \Clarifai\Api\TaskWorker_WorkerType::class);
diff --git a/src/Clarifai/Api/TaskWorker_WorkerType.php b/src/Clarifai/Api/TaskWorker_WorkerType.php
new file mode 100644
index 0000000..2722ef5
--- /dev/null
+++ b/src/Clarifai/Api/TaskWorker_WorkerType.php
@@ -0,0 +1,16 @@
+_simpleRequest('/clarifai.api.V2/ListWorkflowEvaluationTemplates',
+ $argument,
+ ['\Clarifai\Api\MultiWorkflowEvaluationTemplateResponse', 'decode'],
+ $metadata, $options);
+ }
+
}
diff --git a/src/Clarifai/Api/WorkflowVersionEvaluationMetric.php b/src/Clarifai/Api/WorkflowVersionEvaluationMetric.php
new file mode 100644
index 0000000..d917bd3
--- /dev/null
+++ b/src/Clarifai/Api/WorkflowVersionEvaluationMetric.php
@@ -0,0 +1,173 @@
+clarifai.api.WorkflowVersionEvaluationMetric
+ */
+class WorkflowVersionEvaluationMetric extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Generated from protobuf field string id = 1;
+ */
+ protected $id = '';
+ /**
+ * Generated from protobuf field string summary = 2;
+ */
+ protected $summary = '';
+ /**
+ * Generated from protobuf field string description = 3;
+ */
+ protected $description = '';
+ /**
+ * Metric data type - string, float, int
+ *
+ * Generated from protobuf field .clarifai.api.WorkflowVersionEvaluationMetric.DataType data_type = 4;
+ */
+ protected $data_type = 0;
+ /**
+ * Generated from protobuf field .clarifai.api.WorkflowVersionEvaluationMetric.VisualisationType visualisation_type = 5;
+ */
+ protected $visualisation_type = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $id
+ * @type string $summary
+ * @type string $description
+ * @type int $data_type
+ * Metric data type - string, float, int
+ * @type int $visualisation_type
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Proto\Clarifai\Api\Resources::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Generated from protobuf field string id = 1;
+ * @return string
+ */
+ public function getId()
+ {
+ return $this->id;
+ }
+
+ /**
+ * Generated from protobuf field string id = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Generated from protobuf field string summary = 2;
+ * @return string
+ */
+ public function getSummary()
+ {
+ return $this->summary;
+ }
+
+ /**
+ * Generated from protobuf field string summary = 2;
+ * @param string $var
+ * @return $this
+ */
+ public function setSummary($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->summary = $var;
+
+ return $this;
+ }
+
+ /**
+ * Generated from protobuf field string description = 3;
+ * @return string
+ */
+ public function getDescription()
+ {
+ return $this->description;
+ }
+
+ /**
+ * Generated from protobuf field string description = 3;
+ * @param string $var
+ * @return $this
+ */
+ public function setDescription($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->description = $var;
+
+ return $this;
+ }
+
+ /**
+ * Metric data type - string, float, int
+ *
+ * Generated from protobuf field .clarifai.api.WorkflowVersionEvaluationMetric.DataType data_type = 4;
+ * @return int
+ */
+ public function getDataType()
+ {
+ return $this->data_type;
+ }
+
+ /**
+ * Metric data type - string, float, int
+ *
+ * Generated from protobuf field .clarifai.api.WorkflowVersionEvaluationMetric.DataType data_type = 4;
+ * @param int $var
+ * @return $this
+ */
+ public function setDataType($var)
+ {
+ GPBUtil::checkEnum($var, \Clarifai\Api\WorkflowVersionEvaluationMetric\DataType::class);
+ $this->data_type = $var;
+
+ return $this;
+ }
+
+ /**
+ * Generated from protobuf field .clarifai.api.WorkflowVersionEvaluationMetric.VisualisationType visualisation_type = 5;
+ * @return int
+ */
+ public function getVisualisationType()
+ {
+ return $this->visualisation_type;
+ }
+
+ /**
+ * Generated from protobuf field .clarifai.api.WorkflowVersionEvaluationMetric.VisualisationType visualisation_type = 5;
+ * @param int $var
+ * @return $this
+ */
+ public function setVisualisationType($var)
+ {
+ GPBUtil::checkEnum($var, \Clarifai\Api\WorkflowVersionEvaluationMetric\VisualisationType::class);
+ $this->visualisation_type = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Clarifai/Api/WorkflowVersionEvaluationMetric/DataType.php b/src/Clarifai/Api/WorkflowVersionEvaluationMetric/DataType.php
new file mode 100644
index 0000000..4c801f1
--- /dev/null
+++ b/src/Clarifai/Api/WorkflowVersionEvaluationMetric/DataType.php
@@ -0,0 +1,53 @@
+clarifai.api.WorkflowVersionEvaluationMetric.DataType
+ */
+class DataType
+{
+ /**
+ * Generated from protobuf enum DATA_TYPE_NOT_SET = 0;
+ */
+ const DATA_TYPE_NOT_SET = 0;
+ /**
+ * Generated from protobuf enum FLOAT = 1;
+ */
+ const FLOAT = 1;
+
+ private static $valueToName = [
+ self::DATA_TYPE_NOT_SET => 'DATA_TYPE_NOT_SET',
+ self::FLOAT => 'FLOAT',
+ ];
+
+ public static function name($value)
+ {
+ if (!isset(self::$valueToName[$value])) {
+ throw new UnexpectedValueException(sprintf(
+ 'Enum %s has no name defined for value %s', __CLASS__, $value));
+ }
+ return self::$valueToName[$value];
+ }
+
+
+ public static function value($name)
+ {
+ $const = __CLASS__ . '::' . strtoupper($name);
+ if (!defined($const)) {
+ throw new UnexpectedValueException(sprintf(
+ 'Enum %s has no value defined for name %s', __CLASS__, $name));
+ }
+ return constant($const);
+ }
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(DataType::class, \Clarifai\Api\WorkflowVersionEvaluationMetric_DataType::class);
+
diff --git a/src/Clarifai/Api/WorkflowVersionEvaluationMetric/VisualisationType.php b/src/Clarifai/Api/WorkflowVersionEvaluationMetric/VisualisationType.php
new file mode 100644
index 0000000..885740e
--- /dev/null
+++ b/src/Clarifai/Api/WorkflowVersionEvaluationMetric/VisualisationType.php
@@ -0,0 +1,63 @@
+clarifai.api.WorkflowVersionEvaluationMetric.VisualisationType
+ */
+class VisualisationType
+{
+ /**
+ * Generated from protobuf enum VISUALIZATION_TYPE_NOT_SET = 0;
+ */
+ const VISUALIZATION_TYPE_NOT_SET = 0;
+ /**
+ * Generated from protobuf enum CONFUSION_MATRIX = 1;
+ */
+ const CONFUSION_MATRIX = 1;
+ /**
+ * Generated from protobuf enum PRECISION_RECALL_CURVE = 2;
+ */
+ const PRECISION_RECALL_CURVE = 2;
+ /**
+ * Generated from protobuf enum ROC_AUC_CURVE = 3;
+ */
+ const ROC_AUC_CURVE = 3;
+
+ private static $valueToName = [
+ self::VISUALIZATION_TYPE_NOT_SET => 'VISUALIZATION_TYPE_NOT_SET',
+ self::CONFUSION_MATRIX => 'CONFUSION_MATRIX',
+ self::PRECISION_RECALL_CURVE => 'PRECISION_RECALL_CURVE',
+ self::ROC_AUC_CURVE => 'ROC_AUC_CURVE',
+ ];
+
+ public static function name($value)
+ {
+ if (!isset(self::$valueToName[$value])) {
+ throw new UnexpectedValueException(sprintf(
+ 'Enum %s has no name defined for value %s', __CLASS__, $value));
+ }
+ return self::$valueToName[$value];
+ }
+
+
+ public static function value($name)
+ {
+ $const = __CLASS__ . '::' . strtoupper($name);
+ if (!defined($const)) {
+ throw new UnexpectedValueException(sprintf(
+ 'Enum %s has no value defined for name %s', __CLASS__, $name));
+ }
+ return constant($const);
+ }
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(VisualisationType::class, \Clarifai\Api\WorkflowVersionEvaluationMetric_VisualisationType::class);
+
diff --git a/src/Clarifai/Api/WorkflowVersionEvaluationMetric_DataType.php b/src/Clarifai/Api/WorkflowVersionEvaluationMetric_DataType.php
new file mode 100644
index 0000000..c903c80
--- /dev/null
+++ b/src/Clarifai/Api/WorkflowVersionEvaluationMetric_DataType.php
@@ -0,0 +1,16 @@
+clarifai.api.WorkflowVersionEvaluationTemplate
+ */
+class WorkflowVersionEvaluationTemplate extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Generated from protobuf field string id = 1;
+ */
+ protected $id = '';
+ /**
+ * Generated from protobuf field string description = 2;
+ */
+ protected $description = '';
+ /**
+ * Applicable for the task types like TextClassification, TextGeneration, etc
+ *
+ * Generated from protobuf field repeated .clarifai.api.WorkflowVersionEvaluationTemplate.TaskType task_types = 3;
+ */
+ private $task_types;
+ /**
+ * The Workflow Evaluation template metrics
+ *
+ * Generated from protobuf field repeated .clarifai.api.WorkflowVersionEvaluationMetric workflow_version_evaluation_metrics = 4;
+ */
+ private $workflow_version_evaluation_metrics;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $id
+ * @type string $description
+ * @type array|\Google\Protobuf\Internal\RepeatedField $task_types
+ * Applicable for the task types like TextClassification, TextGeneration, etc
+ * @type array<\Clarifai\Api\WorkflowVersionEvaluationMetric>|\Google\Protobuf\Internal\RepeatedField $workflow_version_evaluation_metrics
+ * The Workflow Evaluation template metrics
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Proto\Clarifai\Api\Resources::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Generated from protobuf field string id = 1;
+ * @return string
+ */
+ public function getId()
+ {
+ return $this->id;
+ }
+
+ /**
+ * Generated from protobuf field string id = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Generated from protobuf field string description = 2;
+ * @return string
+ */
+ public function getDescription()
+ {
+ return $this->description;
+ }
+
+ /**
+ * Generated from protobuf field string description = 2;
+ * @param string $var
+ * @return $this
+ */
+ public function setDescription($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->description = $var;
+
+ return $this;
+ }
+
+ /**
+ * Applicable for the task types like TextClassification, TextGeneration, etc
+ *
+ * Generated from protobuf field repeated .clarifai.api.WorkflowVersionEvaluationTemplate.TaskType task_types = 3;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getTaskTypes()
+ {
+ return $this->task_types;
+ }
+
+ /**
+ * Applicable for the task types like TextClassification, TextGeneration, etc
+ *
+ * Generated from protobuf field repeated .clarifai.api.WorkflowVersionEvaluationTemplate.TaskType task_types = 3;
+ * @param array|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setTaskTypes($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::ENUM, \Clarifai\Api\WorkflowVersionEvaluationTemplate\TaskType::class);
+ $this->task_types = $arr;
+
+ return $this;
+ }
+
+ /**
+ * The Workflow Evaluation template metrics
+ *
+ * Generated from protobuf field repeated .clarifai.api.WorkflowVersionEvaluationMetric workflow_version_evaluation_metrics = 4;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getWorkflowVersionEvaluationMetrics()
+ {
+ return $this->workflow_version_evaluation_metrics;
+ }
+
+ /**
+ * The Workflow Evaluation template metrics
+ *
+ * Generated from protobuf field repeated .clarifai.api.WorkflowVersionEvaluationMetric workflow_version_evaluation_metrics = 4;
+ * @param array<\Clarifai\Api\WorkflowVersionEvaluationMetric>|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setWorkflowVersionEvaluationMetrics($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Clarifai\Api\WorkflowVersionEvaluationMetric::class);
+ $this->workflow_version_evaluation_metrics = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Clarifai/Api/WorkflowVersionEvaluationTemplate/TaskType.php b/src/Clarifai/Api/WorkflowVersionEvaluationTemplate/TaskType.php
new file mode 100644
index 0000000..b40118a
--- /dev/null
+++ b/src/Clarifai/Api/WorkflowVersionEvaluationTemplate/TaskType.php
@@ -0,0 +1,51 @@
+clarifai.api.WorkflowVersionEvaluationTemplate.TaskType
+ */
+class TaskType
+{
+ /**
+ * Generated from protobuf enum TASK_TYPE_NOT_SET = 0;
+ */
+ const TASK_TYPE_NOT_SET = 0;
+ /**
+ * Generated from protobuf enum TEXT_CLASSIFICATION = 1;
+ */
+ const TEXT_CLASSIFICATION = 1;
+
+ private static $valueToName = [
+ self::TASK_TYPE_NOT_SET => 'TASK_TYPE_NOT_SET',
+ self::TEXT_CLASSIFICATION => 'TEXT_CLASSIFICATION',
+ ];
+
+ public static function name($value)
+ {
+ if (!isset(self::$valueToName[$value])) {
+ throw new UnexpectedValueException(sprintf(
+ 'Enum %s has no name defined for value %s', __CLASS__, $value));
+ }
+ return self::$valueToName[$value];
+ }
+
+
+ public static function value($name)
+ {
+ $const = __CLASS__ . '::' . strtoupper($name);
+ if (!defined($const)) {
+ throw new UnexpectedValueException(sprintf(
+ 'Enum %s has no value defined for name %s', __CLASS__, $name));
+ }
+ return constant($const);
+ }
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(TaskType::class, \Clarifai\Api\WorkflowVersionEvaluationTemplate_TaskType::class);
+
diff --git a/src/Clarifai/Api/WorkflowVersionEvaluationTemplate_TaskType.php b/src/Clarifai/Api/WorkflowVersionEvaluationTemplate_TaskType.php
new file mode 100644
index 0000000..cd2b0c1
--- /dev/null
+++ b/src/Clarifai/Api/WorkflowVersionEvaluationTemplate_TaskType.php
@@ -0,0 +1,16 @@
+