aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorMarcel Klehr <mklehr@gmx.net>2023-07-07 13:46:03 +0200
committerMarcel Klehr <mklehr@gmx.net>2023-08-09 10:02:26 +0200
commit8acb1dc47511a99d7923968be9dde986490d622d (patch)
tree29089cfe631dc9b8f49332495ac03ca699c69a26 /lib
parent1ad0a2960e7d568fb40dc36430444f2ef70eaace (diff)
downloadnextcloud-server-8acb1dc47511a99d7923968be9dde986490d622d.tar.gz
nextcloud-server-8acb1dc47511a99d7923968be9dde986490d622d.zip
Since 27.1.0
Signed-off-by: Marcel Klehr <mklehr@gmx.net> (cherry picked from commit 069962d04fb51fd52f891297b9096dd7143eaa18)
Diffstat (limited to 'lib')
-rw-r--r--lib/public/AppFramework/Bootstrap/IRegistrationContext.php2
-rw-r--r--lib/public/Common/Exception/NotFoundException.php4
-rw-r--r--lib/public/LanguageModel/AbstractLanguageModelTask.php28
-rw-r--r--lib/public/LanguageModel/Events/AbstractLanguageModelEvent.php6
-rw-r--r--lib/public/LanguageModel/Events/TaskFailedEvent.php6
-rw-r--r--lib/public/LanguageModel/Events/TaskSuccessfulEvent.php4
-rw-r--r--lib/public/LanguageModel/FreePromptTask.php10
-rw-r--r--lib/public/LanguageModel/HeadlineTask.php10
-rw-r--r--lib/public/LanguageModel/IHeadlineProvider.php4
-rw-r--r--lib/public/LanguageModel/ILanguageModelManager.php14
-rw-r--r--lib/public/LanguageModel/ILanguageModelProvider.php6
-rw-r--r--lib/public/LanguageModel/ILanguageModelTask.php40
-rw-r--r--lib/public/LanguageModel/ISummaryProvider.php4
-rw-r--r--lib/public/LanguageModel/ITopicsProvider.php4
-rw-r--r--lib/public/LanguageModel/SummaryTask.php10
-rw-r--r--lib/public/LanguageModel/TopicsTask.php10
16 files changed, 81 insertions, 81 deletions
diff --git a/lib/public/AppFramework/Bootstrap/IRegistrationContext.php b/lib/public/AppFramework/Bootstrap/IRegistrationContext.php
index a4b874b7545..66435d45934 100644
--- a/lib/public/AppFramework/Bootstrap/IRegistrationContext.php
+++ b/lib/public/AppFramework/Bootstrap/IRegistrationContext.php
@@ -226,7 +226,7 @@ interface IRegistrationContext {
*
* @param string $providerClass
* @psalm-param class-string<ILanguageModelProvider> $providerClass
- * @since 28.0.0
+ * @since 27.1.0
*/
public function registerLanguageModelProvider(string $providerClass): void;
diff --git a/lib/public/Common/Exception/NotFoundException.php b/lib/public/Common/Exception/NotFoundException.php
index a2cd4db8634..a30e1c42b8b 100644
--- a/lib/public/Common/Exception/NotFoundException.php
+++ b/lib/public/Common/Exception/NotFoundException.php
@@ -27,13 +27,13 @@ namespace OCP\Common\Exception;
/**
* This is thrown whenever something was expected to exist but doesn't
*
- * @since 28.0.0
+ * @since 27.1.0
*/
class NotFoundException extends \Exception {
/**
* Constructor
* @param string $msg the error message
- * @since 28.0.0
+ * @since 27.1.0
*/
public function __construct(string $msg) {
parent::__construct($msg);
diff --git a/lib/public/LanguageModel/AbstractLanguageModelTask.php b/lib/public/LanguageModel/AbstractLanguageModelTask.php
index 2b92e6f115d..91b81b9615b 100644
--- a/lib/public/LanguageModel/AbstractLanguageModelTask.php
+++ b/lib/public/LanguageModel/AbstractLanguageModelTask.php
@@ -46,7 +46,7 @@ abstract class AbstractLanguageModelTask implements ILanguageModelTask {
* @param string $appId
* @param string|null $userId
* @param string $identifier An arbitrary identifier for this task. max length: 255 chars
- * @since 28.0.0
+ * @since 27.1.0
*/
final public function __construct(
protected string $input,
@@ -58,13 +58,13 @@ abstract class AbstractLanguageModelTask implements ILanguageModelTask {
/**
* @return string
- * @since 28.0.0
+ * @since 27.1.0
*/
abstract public function getType(): string;
/**
* @return string|null
- * @since 28.0.0
+ * @since 27.1.0
*/
final public function getOutput(): ?string {
return $this->output;
@@ -72,7 +72,7 @@ abstract class AbstractLanguageModelTask implements ILanguageModelTask {
/**
* @param string|null $output
- * @since 28.0.0
+ * @since 27.1.0
*/
final public function setOutput(?string $output): void {
$this->output = $output;
@@ -80,7 +80,7 @@ abstract class AbstractLanguageModelTask implements ILanguageModelTask {
/**
* @psalm-return ILanguageModelTask::STATUS_*
- * @since 28.0.0
+ * @since 27.1.0
*/
final public function getStatus(): int {
return $this->status;
@@ -88,7 +88,7 @@ abstract class AbstractLanguageModelTask implements ILanguageModelTask {
/**
* @psalm-param ILanguageModelTask::STATUS_* $status
- * @since 28.0.0
+ * @since 27.1.0
*/
final public function setStatus(int $status): void {
$this->status = $status;
@@ -96,7 +96,7 @@ abstract class AbstractLanguageModelTask implements ILanguageModelTask {
/**
* @return int|null
- * @since 28.0.0
+ * @since 27.1.0
*/
final public function getId(): ?int {
return $this->id;
@@ -104,7 +104,7 @@ abstract class AbstractLanguageModelTask implements ILanguageModelTask {
/**
* @param int|null $id
- * @since 28.0.0
+ * @since 27.1.0
*/
final public function setId(?int $id): void {
$this->id = $id;
@@ -112,7 +112,7 @@ abstract class AbstractLanguageModelTask implements ILanguageModelTask {
/**
* @return string
- * @since 28.0.0
+ * @since 27.1.0
*/
final public function getInput(): string {
return $this->input;
@@ -120,7 +120,7 @@ abstract class AbstractLanguageModelTask implements ILanguageModelTask {
/**
* @return string
- * @since 28.0.0
+ * @since 27.1.0
*/
final public function getAppId(): string {
return $this->appId;
@@ -128,7 +128,7 @@ abstract class AbstractLanguageModelTask implements ILanguageModelTask {
/**
* @return string
- * @since 28.0.0
+ * @since 27.1.0
*/
final public function getIdentifier(): string {
return $this->identifier;
@@ -136,7 +136,7 @@ abstract class AbstractLanguageModelTask implements ILanguageModelTask {
/**
* @return string|null
- * @since 28.0.0
+ * @since 27.1.0
*/
final public function getUserId(): ?string {
return $this->userId;
@@ -144,7 +144,7 @@ abstract class AbstractLanguageModelTask implements ILanguageModelTask {
/**
* @return array
- * @since 28.0.0
+ * @since 27.1.0
*/
public function jsonSerialize() {
return [
@@ -167,7 +167,7 @@ abstract class AbstractLanguageModelTask implements ILanguageModelTask {
* @param string $identifier
* @return ILanguageModelTask
* @throws \InvalidArgumentException
- * @since 28.0.0
+ * @since 27.1.0
*/
final public static function factory(string $type, string $input, ?string $userId, string $appId, string $identifier = ''): ILanguageModelTask {
if (!in_array($type, array_keys(self::TYPES))) {
diff --git a/lib/public/LanguageModel/Events/AbstractLanguageModelEvent.php b/lib/public/LanguageModel/Events/AbstractLanguageModelEvent.php
index 218a4480081..c8abc7373eb 100644
--- a/lib/public/LanguageModel/Events/AbstractLanguageModelEvent.php
+++ b/lib/public/LanguageModel/Events/AbstractLanguageModelEvent.php
@@ -29,11 +29,11 @@ use OCP\EventDispatcher\Event;
use OCP\LanguageModel\ILanguageModelTask;
/**
- * @since 28.0.0
+ * @since 27.1.0
*/
abstract class AbstractLanguageModelEvent extends Event {
/**
- * @since 28.0.0
+ * @since 27.1.0
*/
public function __construct(
private ILanguageModelTask $task
@@ -43,7 +43,7 @@ abstract class AbstractLanguageModelEvent extends Event {
/**
* @return ILanguageModelTask
- * @since 28.0.0
+ * @since 27.1.0
*/
public function getTask(): ILanguageModelTask {
return $this->task;
diff --git a/lib/public/LanguageModel/Events/TaskFailedEvent.php b/lib/public/LanguageModel/Events/TaskFailedEvent.php
index 2737e625e0d..f42203a6e48 100644
--- a/lib/public/LanguageModel/Events/TaskFailedEvent.php
+++ b/lib/public/LanguageModel/Events/TaskFailedEvent.php
@@ -5,13 +5,13 @@ namespace OCP\LanguageModel\Events;
use OCP\LanguageModel\ILanguageModelTask;
/**
- * @since 28.0.0
+ * @since 27.1.0
*/
class TaskFailedEvent extends AbstractLanguageModelEvent {
/**
* @param ILanguageModelTask $task
* @param string $errorMessage
- * @since 28.0.0
+ * @since 27.1.0
*/
public function __construct(
ILanguageModelTask $task,
@@ -22,7 +22,7 @@ class TaskFailedEvent extends AbstractLanguageModelEvent {
/**
* @return string
- * @since 28.0.0
+ * @since 27.1.0
*/
public function getErrorMessage(): string {
return $this->errorMessage;
diff --git a/lib/public/LanguageModel/Events/TaskSuccessfulEvent.php b/lib/public/LanguageModel/Events/TaskSuccessfulEvent.php
index ec8a8586a3e..77a61ac5c6e 100644
--- a/lib/public/LanguageModel/Events/TaskSuccessfulEvent.php
+++ b/lib/public/LanguageModel/Events/TaskSuccessfulEvent.php
@@ -5,12 +5,12 @@ namespace OCP\LanguageModel\Events;
use OCP\LanguageModel\ILanguageModelTask;
/**
- * @since 28.0.0
+ * @since 27.1.0
*/
class TaskSuccessfulEvent extends AbstractLanguageModelEvent {
/**
* @param ILanguageModelTask $task
- * @since 28.0.0
+ * @since 27.1.0
*/
public function __construct(ILanguageModelTask $task) {
parent::__construct($task);
diff --git a/lib/public/LanguageModel/FreePromptTask.php b/lib/public/LanguageModel/FreePromptTask.php
index 3de215784ab..560d6e7d1fb 100644
--- a/lib/public/LanguageModel/FreePromptTask.php
+++ b/lib/public/LanguageModel/FreePromptTask.php
@@ -26,18 +26,18 @@ declare(strict_types=1);
namespace OCP\LanguageModel;
/**
- * @since 28.0.0
+ * @since 27.1.0
* @template-extends AbstractLanguageModelTask<ILanguageModelProvider>
*/
final class FreePromptTask extends AbstractLanguageModelTask {
/**
- * @since 28.0.0
+ * @since 27.1.0
*/
public const TYPE = 'free_prompt';
/**
* @inheritDoc
- * @since 28.0.0
+ * @since 27.1.0
*/
public function visitProvider(ILanguageModelProvider $provider): string {
return $provider->prompt($this->getInput());
@@ -45,7 +45,7 @@ final class FreePromptTask extends AbstractLanguageModelTask {
/**
* @inheritDoc
- * @since 28.0.0
+ * @since 27.1.0
*/
public function canUseProvider(ILanguageModelProvider $provider): bool {
return true;
@@ -53,7 +53,7 @@ final class FreePromptTask extends AbstractLanguageModelTask {
/**
* @inheritDoc
- * @since 28.0.0
+ * @since 27.1.0
*/
public function getType(): string {
return self::TYPE;
diff --git a/lib/public/LanguageModel/HeadlineTask.php b/lib/public/LanguageModel/HeadlineTask.php
index e66c8893d83..4c62b9722a9 100644
--- a/lib/public/LanguageModel/HeadlineTask.php
+++ b/lib/public/LanguageModel/HeadlineTask.php
@@ -28,18 +28,18 @@ namespace OCP\LanguageModel;
/**
* This LanguageModel Task represents headline generation
* which generates a headline for the passed text
- * @since 28.0.0
+ * @since 27.1.0
* @template-extends AbstractLanguageModelTask<IHeadlineProvider>
*/
final class HeadlineTask extends AbstractLanguageModelTask {
/**
- * @since 28.0.0
+ * @since 27.1.0
*/
public const TYPE = 'headline';
/**
* @inheritDoc
- * @since 28.0.0
+ * @since 27.1.0
*/
public function visitProvider(ILanguageModelProvider $provider): string {
if (!$this->canUseProvider($provider)) {
@@ -50,7 +50,7 @@ final class HeadlineTask extends AbstractLanguageModelTask {
/**
* @inheritDoc
- * @since 28.0.0
+ * @since 27.1.0
*/
public function canUseProvider(ILanguageModelProvider $provider): bool {
return $provider instanceof IHeadlineProvider;
@@ -58,7 +58,7 @@ final class HeadlineTask extends AbstractLanguageModelTask {
/**
* @inheritDoc
- * @since 28.0.0
+ * @since 27.1.0
*/
public function getType(): string {
return self::TYPE;
diff --git a/lib/public/LanguageModel/IHeadlineProvider.php b/lib/public/LanguageModel/IHeadlineProvider.php
index d1fe7504fdf..30185f4d4b3 100644
--- a/lib/public/LanguageModel/IHeadlineProvider.php
+++ b/lib/public/LanguageModel/IHeadlineProvider.php
@@ -31,13 +31,13 @@ use RuntimeException;
/**
* This LanguageModel Provider represents headline generation
* which generates a headline for the passed text
- * @since 28.0.0
+ * @since 27.1.0
*/
interface IHeadlineProvider extends ILanguageModelProvider {
/**
* @param string $text The text to find headline for
* @returns string the headline
- * @since 28.0.0
+ * @since 27.1.0
* @throws RuntimeException If the text could not be transcribed
*/
public function findHeadline(string $text): string;
diff --git a/lib/public/LanguageModel/ILanguageModelManager.php b/lib/public/LanguageModel/ILanguageModelManager.php
index 32cc4b788bf..0afc99b91ab 100644
--- a/lib/public/LanguageModel/ILanguageModelManager.php
+++ b/lib/public/LanguageModel/ILanguageModelManager.php
@@ -33,30 +33,30 @@ use RuntimeException;
/**
* API surface for apps interacting with and making use of LanguageModel providers
* without known which providers are installed
- * @since 28.0.0
+ * @since 27.1.0
*/
interface ILanguageModelManager {
/**
- * @since 28.0.0
+ * @since 27.1.0
*/
public function hasProviders(): bool;
/**
* @return string[]
- * @since 28.0.0
+ * @since 27.1.0
*/
public function getAvailableTaskClasses(): array;
/**
* @return string[]
- * @since 28.0.0
+ * @since 27.1.0
*/
public function getAvailableTaskTypes(): array;
/**
* @throws PreConditionNotMetException If no or not the requested provider was registered but this method was still called
* @throws RuntimeException If something else failed
- * @since 28.0.0
+ * @since 27.1.0
*/
public function runTask(ILanguageModelTask $task): string;
@@ -66,7 +66,7 @@ interface ILanguageModelManager {
* If inference fails a \OCP\LanguageModel\Events\TaskFailedEvent will be dispatched instead
*
* @throws PreConditionNotMetException If no or not the requested provider was registered but this method was still called
- * @since 28.0.0
+ * @since 27.1.0
*/
public function scheduleTask(ILanguageModelTask $task) : void;
@@ -75,7 +75,7 @@ interface ILanguageModelManager {
* @return ILanguageModelTask
* @throws RuntimeException If the query failed
* @throws NotFoundException If the task could not be found
- * @since 28.0.0
+ * @since 27.1.0
*/
public function getTask(int $id): ILanguageModelTask;
}
diff --git a/lib/public/LanguageModel/ILanguageModelProvider.php b/lib/public/LanguageModel/ILanguageModelProvider.php
index b3e76ff4d82..34e7eb6c4e5 100644
--- a/lib/public/LanguageModel/ILanguageModelProvider.php
+++ b/lib/public/LanguageModel/ILanguageModelProvider.php
@@ -31,18 +31,18 @@ use RuntimeException;
/**
* This is the minimum interface that is implemented by apps that
* implement a LanguageModel provider
- * @since 28.0.0
+ * @since 27.1.0
*/
interface ILanguageModelProvider {
/**
- * @since 28.0.0
+ * @since 27.1.0
*/
public function getName(): string;
/**
* @param string $prompt The prompt to call the model with
* @return string the output
- * @since 28.0.0
+ * @since 27.1.0
* @throws RuntimeException If the text could not be transcribed
*/
public function prompt(string $prompt): string;
diff --git a/lib/public/LanguageModel/ILanguageModelTask.php b/lib/public/LanguageModel/ILanguageModelTask.php
index b8f0f96695d..0f552c8de54 100644
--- a/lib/public/LanguageModel/ILanguageModelTask.php
+++ b/lib/public/LanguageModel/ILanguageModelTask.php
@@ -26,33 +26,33 @@ declare(strict_types=1);
namespace OCP\LanguageModel;
/**
- * @since 28.0.0
+ * @since 27.1.0
* @template T of ILanguageModelProvider
*/
interface ILanguageModelTask extends \JsonSerializable {
/**
- * @since 28.0.0
+ * @since 27.1.0
*/
public const STATUS_FAILED = 4;
/**
- * @since 28.0.0
+ * @since 27.1.0
*/
public const STATUS_SUCCESSFUL = 3;
/**
- * @since 28.0.0
+ * @since 27.1.0
*/
public const STATUS_RUNNING = 2;
/**
- * @since 28.0.0
+ * @since 27.1.0
*/
public const STATUS_SCHEDULED = 1;
/**
- * @since 28.0.0
+ * @since 27.1.0
*/
public const STATUS_UNKNOWN = 0;
/**
- * @since 28.0.0
+ * @since 27.1.0
*/
public const TYPES = [
FreePromptTask::TYPE => FreePromptTask::class,
@@ -65,7 +65,7 @@ interface ILanguageModelTask extends \JsonSerializable {
* @psalm-param T $provider
* @param ILanguageModelProvider $provider
* @return string
- * @since 28.0.0
+ * @since 27.1.0
*/
public function visitProvider(ILanguageModelProvider $provider): string;
@@ -73,74 +73,74 @@ interface ILanguageModelTask extends \JsonSerializable {
* @psalm-param T $provider
* @param ILanguageModelProvider $provider
* @return bool
- * @since 28.0.0
+ * @since 27.1.0
*/
public function canUseProvider(ILanguageModelProvider $provider): bool;
/**
* @return string
- * @since 28.0.0
+ * @since 27.1.0
*/
public function getType(): string;
/**
* @return ILanguageModelTask::STATUS_*
- * @since 28.0.0
+ * @since 27.1.0
*/
public function getStatus(): int;
/**
* @param ILanguageModelTask::STATUS_* $status
- * @since 28.0.0
+ * @since 27.1.0
*/
public function setStatus(int $status): void;
/**
* @param int|null $id
- * @since 28.0.0
+ * @since 27.1.0
*/
public function setId(?int $id): void;
/**
* @return int|null
- * @since 28.0.0
+ * @since 27.1.0
*/
public function getId(): ?int;
/**
* @return string
- * @since 28.0.0
+ * @since 27.1.0
*/
public function getInput(): string;
/**
* @param string|null $output
- * @since 28.0.0
+ * @since 27.1.0
*/
public function setOutput(?string $output): void;
/**
* @return null|string
- * @since 28.0.0
+ * @since 27.1.0
*/
public function getOutput(): ?string;
/**
* @return string
- * @since 28.0.0
+ * @since 27.1.0
*/
public function getAppId(): string;
/**
* @return string
- * @since 28.0.0
+ * @since 27.1.0
*/
public function getIdentifier(): string;
/**
* @return string|null
- * @since 28.0.0
+ * @since 27.1.0
*/
public function getUserId(): ?string;
}
diff --git a/lib/public/LanguageModel/ISummaryProvider.php b/lib/public/LanguageModel/ISummaryProvider.php
index 0b49258964d..c286e74eb19 100644
--- a/lib/public/LanguageModel/ISummaryProvider.php
+++ b/lib/public/LanguageModel/ISummaryProvider.php
@@ -31,13 +31,13 @@ use RuntimeException;
/**
* This LanguageModel Provider implements summarization
* which sums up the passed text.
- * @since 28.0.0
+ * @since 27.1.0
*/
interface ISummaryProvider extends ILanguageModelProvider {
/**
* @param string $text The text to summarize
* @returns string the summary
- * @since 28.0.0
+ * @since 27.1.0
* @throws RuntimeException If the text could not be transcribed
*/
public function summarize(string $text): string;
diff --git a/lib/public/LanguageModel/ITopicsProvider.php b/lib/public/LanguageModel/ITopicsProvider.php
index a15cfba698f..f061976a3ba 100644
--- a/lib/public/LanguageModel/ITopicsProvider.php
+++ b/lib/public/LanguageModel/ITopicsProvider.php
@@ -31,13 +31,13 @@ use RuntimeException;
/**
* This LanguageModel Provider implements topics synthesis
* which outputs comma-separated topics for the passed text
- * @since 28.0.0
+ * @since 27.1.0
*/
interface ITopicsProvider extends ILanguageModelProvider {
/**
* @param string $text The text to find topics for
* @returns string the topics, comma separated
- * @since 28.0.0
+ * @since 27.1.0
* @throws RuntimeException If the text could not be transcribed
*/
public function findTopics(string $text): string;
diff --git a/lib/public/LanguageModel/SummaryTask.php b/lib/public/LanguageModel/SummaryTask.php
index 4504cdff750..47864532ae3 100644
--- a/lib/public/LanguageModel/SummaryTask.php
+++ b/lib/public/LanguageModel/SummaryTask.php
@@ -28,18 +28,18 @@ namespace OCP\LanguageModel;
/**
* This is an absctract LanguageModel Task represents summarization
* which sums up the passed text.
- * @since 28.0.0
+ * @since 27.1.0
* @template-extends AbstractLanguageModelTask<ISummaryProvider>
*/
final class SummaryTask extends AbstractLanguageModelTask {
/**
- * @since 28.0.0
+ * @since 27.1.0
*/
public const TYPE = 'summarize';
/**
* @inheritDoc
- * @since 28.0.0
+ * @since 27.1.0
*/
public function visitProvider(ILanguageModelProvider $provider): string {
if (!$this->canUseProvider($provider)) {
@@ -50,7 +50,7 @@ final class SummaryTask extends AbstractLanguageModelTask {
/**
* @inheritDoc
- * @since 28.0.0
+ * @since 27.1.0
*/
public function canUseProvider(ILanguageModelProvider $provider): bool {
return $provider instanceof ISummaryProvider;
@@ -58,7 +58,7 @@ final class SummaryTask extends AbstractLanguageModelTask {
/**
* @inheritDoc
- * @since 28.0.0
+ * @since 27.1.0
*/
public function getType(): string {
return self::TYPE;
diff --git a/lib/public/LanguageModel/TopicsTask.php b/lib/public/LanguageModel/TopicsTask.php
index ccf5d512a8a..ab2c5916061 100644
--- a/lib/public/LanguageModel/TopicsTask.php
+++ b/lib/public/LanguageModel/TopicsTask.php
@@ -28,18 +28,18 @@ namespace OCP\LanguageModel;
/**
* This LanguageModel Task represents topics synthesis
* which outputs comma-separated topics for the passed text
- * @since 28.0.0
+ * @since 27.1.0
* @template-extends AbstractLanguageModelTask<ITopicsProvider>
*/
final class TopicsTask extends AbstractLanguageModelTask {
/**
- * @since 28.0.0
+ * @since 27.1.0
*/
public const TYPE = 'topics';
/**
* @inheritDoc
- * @since 28.0.0
+ * @since 27.1.0
*/
public function visitProvider(ILanguageModelProvider $provider): string {
if (!$this->canUseProvider($provider)) {
@@ -50,7 +50,7 @@ final class TopicsTask extends AbstractLanguageModelTask {
/**
* @inheritDoc
- * @since 28.0.0
+ * @since 27.1.0
*/
public function canUseProvider(ILanguageModelProvider $provider): bool {
return $provider instanceof ITopicsProvider;
@@ -58,7 +58,7 @@ final class TopicsTask extends AbstractLanguageModelTask {
/**
* @inheritDoc
- * @since 28.0.0
+ * @since 27.1.0
*/
public function getType(): string {
return self::TYPE;