44
55use OC \LanguageModel \Db \Task ;
66
7+ /**
8+ * @since 28.0.0
9+ */
710abstract class AbstractLanguageModelTask implements ILanguageModelTask {
811 protected ?int $ id ;
912 protected ?string $ output ;
1013 protected int $ status = ILanguageModelTask::STATUS_UNKNOWN ;
1114
15+ /**
16+ * @param string $input
17+ * @param string $appId
18+ * @param string|null $userId
19+ * @since 28.0.0
20+ */
1221 final public function __construct (
1322 protected string $ input ,
1423 protected string $ appId ,
@@ -20,76 +29,99 @@ final public function __construct(
2029 * @param ILanguageModelProvider $provider
2130 * @return string
2231 * @throws \RuntimeException
32+ * @since 28.0.0
2333 */
2434 abstract public function visitProvider (ILanguageModelProvider $ provider ): string ;
2535
36+ /**
37+ * @param ILanguageModelProvider $provider
38+ * @return bool
39+ * @since 28.0.0
40+ */
2641 abstract public function canUseProvider (ILanguageModelProvider $ provider ): bool ;
2742
43+ /**
44+ * @return string
45+ * @since 28.0.0
46+ */
2847 abstract public function getType (): string ;
2948
3049 /**
3150 * @return string|null
51+ * @since 28.0.0
3252 */
3353 final public function getOutput (): ?string {
3454 return $ this ->output ;
3555 }
3656
3757 /**
3858 * @param string|null $output
59+ * @since 28.0.0
3960 */
4061 final public function setOutput (?string $ output ): void {
4162 $ this ->output = $ output ;
4263 }
4364
4465 /**
4566 * @return int
67+ * @since 28.0.0
4668 */
4769 final public function getStatus (): int {
4870 return $ this ->status ;
4971 }
5072
5173 /**
5274 * @param int $status
75+ * @since 28.0.0
5376 */
5477 final public function setStatus (int $ status ): void {
5578 $ this ->status = $ status ;
5679 }
5780
5881 /**
5982 * @return int|null
83+ * @since 28.0.0
6084 */
6185 final public function getId (): ?int {
6286 return $ this ->id ;
6387 }
6488
6589 /**
6690 * @param int|null $id
91+ * @since 28.0.0
6792 */
6893 final public function setId (?int $ id ): void {
6994 $ this ->id = $ id ;
7095 }
7196
7297 /**
7398 * @return string
99+ * @since 28.0.0
74100 */
75101 final public function getInput (): string {
76102 return $ this ->input ;
77103 }
78104
79105 /**
80106 * @return string
107+ * @since 28.0.0
81108 */
82109 final public function getAppId (): string {
83110 return $ this ->appId ;
84111 }
85112
86113 /**
87114 * @return string|null
115+ * @since 28.0.0
88116 */
89117 final public function getUserId (): ?string {
90118 return $ this ->userId ;
91119 }
92120
121+ /**
122+ * @return array
123+ * @since 28.0.0
124+ */
93125 public function jsonSerialize () {
94126 return [
95127 'id ' => $ this ->getId (),
@@ -103,6 +135,11 @@ public function jsonSerialize() {
103135 }
104136
105137
138+ /**
139+ * @param Task $taskEntity
140+ * @return ILanguageModelTask
141+ * @since 28.0.0
142+ */
106143 final public static function fromTaskEntity (Task $ taskEntity ): ILanguageModelTask {
107144 $ task = self ::factory ($ taskEntity ->getType (), $ taskEntity ->getInput (), $ taskEntity ->getuserId (), $ taskEntity ->getAppId ());
108145 $ task ->setId ($ taskEntity ->getId ());
@@ -117,6 +154,7 @@ final public static function fromTaskEntity(Task $taskEntity): ILanguageModelTas
117154 * @param string $appId
118155 * @return ILanguageModelTask
119156 * @throws \InvalidArgumentException
157+ * @since 28.0.0
120158 */
121159 final public static function factory (string $ type , string $ input , ?string $ userId , string $ appId ): ILanguageModelTask {
122160 if (!in_array ($ type , self ::TYPES )) {
0 commit comments