diff options
author | Marcel Klehr <mklehr@gmx.net> | 2023-07-06 10:24:28 +0200 |
---|---|---|
committer | Marcel Klehr <mklehr@gmx.net> | 2023-08-09 10:01:31 +0200 |
commit | ffedcebc500a131db5a9b65a7490bbae8170ce37 (patch) | |
tree | 1de32d50ddf7d8eea659994687e9fcf0ecb1febb /lib | |
parent | 97a4a063f4c4edf5cf4389fd92b8e7ccbedc0c82 (diff) | |
download | nextcloud-server-ffedcebc500a131db5a9b65a7490bbae8170ce37.tar.gz nextcloud-server-ffedcebc500a131db5a9b65a7490bbae8170ce37.zip |
LLM OCP API: Add identifier param
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit f6f8cb43313deb3dfd366bc9e2128d787c833405)
Diffstat (limited to 'lib')
-rw-r--r-- | lib/private/LanguageModel/Db/Task.php | 9 | ||||
-rw-r--r-- | lib/public/LanguageModel/AbstractLanguageModelTask.php | 18 | ||||
-rw-r--r-- | lib/public/LanguageModel/ILanguageModelTask.php | 6 |
3 files changed, 28 insertions, 5 deletions
diff --git a/lib/private/LanguageModel/Db/Task.php b/lib/private/LanguageModel/Db/Task.php index bbafd7583c8..1e8d57d39e8 100644 --- a/lib/private/LanguageModel/Db/Task.php +++ b/lib/private/LanguageModel/Db/Task.php @@ -20,6 +20,8 @@ use OCP\LanguageModel\ILanguageModelTask; * @method string getuserId() * @method setAppId(string $type) * @method string getAppId() + * @method setIdentifier(string $type) + * @method string getIdentifier() */ class Task extends Entity { protected $lastUpdated; @@ -29,16 +31,17 @@ class Task extends Entity { protected $status; protected $userId; protected $appId; + protected $identifier; /** * @var string[] */ - public static array $columns = ['id', 'last_updated', 'type', 'input', 'output', 'status', 'user_id', 'app_id']; + public static array $columns = ['id', 'last_updated', 'type', 'input', 'output', 'status', 'user_id', 'app_id', 'identifier']; /** * @var string[] */ - public static array $fields = ['id', 'lastUpdated', 'type', 'input', 'output', 'status', 'userId', 'appId']; + public static array $fields = ['id', 'lastUpdated', 'type', 'input', 'output', 'status', 'userId', 'appId', 'identifier']; public function __construct() { @@ -51,6 +54,7 @@ class Task extends Entity { $this->addType('status', 'integer'); $this->addType('userId', 'string'); $this->addType('appId', 'string'); + $this->addType('identifier', 'string'); } public function toRow(): array { @@ -69,6 +73,7 @@ class Task extends Entity { 'output' => $task->getOutput(), 'userId' => $task->getUserId(), 'appId' => $task->getAppId(), + 'identifier' => $task->getIdentifier(), ]); } } diff --git a/lib/public/LanguageModel/AbstractLanguageModelTask.php b/lib/public/LanguageModel/AbstractLanguageModelTask.php index a6b091dc14f..afa23dd36c8 100644 --- a/lib/public/LanguageModel/AbstractLanguageModelTask.php +++ b/lib/public/LanguageModel/AbstractLanguageModelTask.php @@ -43,12 +43,14 @@ abstract class AbstractLanguageModelTask implements ILanguageModelTask { * @param string $input * @param string $appId * @param string|null $userId + * @param string $identifier An arbitrary identifier for this task. max length: 255 chars * @since 28.0.0 */ final public function __construct( protected string $input, protected string $appId, protected ?string $userId, + protected string $identifier = '', ) { } @@ -123,6 +125,14 @@ abstract class AbstractLanguageModelTask implements ILanguageModelTask { } /** + * @return string + * @since 28.0.0 + */ + final public function getIdentifier(): string { + return $this->identifier; + } + + /** * @return string|null * @since 28.0.0 */ @@ -143,6 +153,7 @@ abstract class AbstractLanguageModelTask implements ILanguageModelTask { 'appId' => $this->getAppId(), 'input' => $this->getInput(), 'output' => $this->getOutput(), + 'identifier' => $this->getIdentifier(), ]; } @@ -153,7 +164,7 @@ abstract class AbstractLanguageModelTask implements ILanguageModelTask { * @since 28.0.0 */ final public static function fromTaskEntity(Task $taskEntity): ILanguageModelTask { - $task = self::factory($taskEntity->getType(), $taskEntity->getInput(), $taskEntity->getuserId(), $taskEntity->getAppId()); + $task = self::factory($taskEntity->getType(), $taskEntity->getInput(), $taskEntity->getuserId(), $taskEntity->getAppId(), $taskEntity->getIdentifier()); $task->setId($taskEntity->getId()); $task->setStatus($taskEntity->getStatus()); $task->setOutput($taskEntity->getOutput()); @@ -165,14 +176,15 @@ abstract class AbstractLanguageModelTask implements ILanguageModelTask { * @param string $input * @param string|null $userId * @param string $appId + * @param string $identifier * @return ILanguageModelTask * @throws \InvalidArgumentException * @since 28.0.0 */ - final public static function factory(string $type, string $input, ?string $userId, string $appId): ILanguageModelTask { + final public static function factory(string $type, string $input, ?string $userId, string $appId, string $identifier): ILanguageModelTask { if (!in_array($type, array_keys(self::TYPES))) { throw new \InvalidArgumentException('Unknown task type'); } - return new (ILanguageModelTask::TYPES[$type])($input, $appId, $userId); + return new (ILanguageModelTask::TYPES[$type])($input, $appId, $userId, $identifier); } } diff --git a/lib/public/LanguageModel/ILanguageModelTask.php b/lib/public/LanguageModel/ILanguageModelTask.php index 356cb53914e..b8f0f96695d 100644 --- a/lib/public/LanguageModel/ILanguageModelTask.php +++ b/lib/public/LanguageModel/ILanguageModelTask.php @@ -133,6 +133,12 @@ interface ILanguageModelTask extends \JsonSerializable { public function getAppId(): string; /** + * @return string + * @since 28.0.0 + */ + public function getIdentifier(): string; + + /** * @return string|null * @since 28.0.0 */ |