PluginProbe ʕ •ᴥ•ʔ
AI Engine – The Chatbot, AI Framework & MCP for WordPress / 3.5.6
AI Engine – The Chatbot, AI Framework & MCP for WordPress v3.5.6
3.5.7 3.5.6 3.5.5 3.5.4 3.5.3 3.5.2 3.5.1 3.5.0 3.4.9 3.4.8 3.4.7 0.2.1 1.6.91 0.2.2 1.6.92 0.2.3 1.6.93 0.2.4 1.6.94 0.2.5 1.6.95 0.2.6 1.6.96 0.2.7 1.6.97 0.2.8 1.6.98 0.2.9 1.6.99 0.3.0 1.7.0 0.3.1 1.7.1 0.3.2 1.7.2 0.3.3 1.7.3 0.3.4 1.7.4 0.3.5 1.7.5 0.3.6 1.7.6 0.4.0 1.7.7 0.4.1 1.7.8 0.4.2 1.7.9 0.4.3 1.8.0 0.4.4 1.8.1 0.4.5 1.8.2 0.4.6 1.8.3 0.4.7 1.8.4 0.4.8 1.8.5 0.4.9 1.8.6 0.5.0 1.8.7 0.5.1 1.8.8 0.5.2 1.8.9 0.5.3 1.9.0 0.5.4 1.9.1 0.5.5 1.9.2 0.5.6 1.9.3 0.5.7 1.9.4 0.5.8 1.9.5 0.5.9 1.9.6 0.6.0 1.9.7 0.6.1 1.9.8 0.6.2 1.9.81 0.6.3 1.9.82 0.6.4 1.9.83 0.6.5 1.9.84 0.6.6 1.9.85 0.6.7 1.9.86 0.6.8 1.9.87 0.6.9 1.9.88 0.7.0 1.9.89 0.7.1 1.9.90 0.7.2 1.9.91 0.7.3 1.9.92 0.7.4 1.9.93 0.7.5 1.9.94 0.7.6 1.9.95 0.7.7 1.9.96 0.7.8 1.9.97 0.7.9 1.9.98 0.8.0 1.9.99 0.8.1 2.0.0 0.8.2 2.0.1 0.8.3 2.0.2 0.8.4 2.0.3 0.8.5 2.0.4 0.8.6 2.0.5 0.8.7 2.0.6 0.8.8 2.0.7 0.8.9 2.0.8 0.9.0 2.0.9 0.9.2 2.1.0 0.9.3 2.1.1 0.9.4 2.1.2 0.9.5 2.1.3 0.9.6 2.1.4 0.9.7 2.1.5 0.9.8 2.1.6 0.9.81 2.1.7 0.9.82 2.1.8 0.9.83 2.1.9 0.9.84 2.2.0 0.9.85 2.2.1 0.9.86 2.2.2 0.9.87 2.2.3 0.9.88 2.2.4 0.9.89 2.2.5 0.9.9 2.2.51 0.9.91 2.2.52 0.9.92 2.2.53 0.9.93 2.2.54 0.9.94 2.2.56 0.9.95 2.2.57 0.9.96 2.2.6 0.9.97 2.2.60 0.9.98 2.2.61 0.9.99 2.2.62 1.0.0 2.2.63 1.0.01 2.2.70 1.0.1 2.2.80 1.0.2 2.2.81 1.0.3 2.2.90 1.0.4 2.2.91 1.0.5 2.2.92 1.0.6 2.2.93 1.0.7 2.2.94 1.0.8 2.2.95 1.0.9 2.3.0 1.1.0 2.3.1 1.1.1 2.3.2 1.1.2 2.3.3 1.1.3 2.3.4 1.1.4 2.3.5 1.1.5 2.3.6 1.1.6 2.3.7 1.1.7 2.3.8 1.1.8 2.3.9 1.1.9 2.4.0 1.2.0 2.4.1 1.2.1 2.4.2 1.2.2 2.4.3 1.2.21 2.4.4 1.2.3 2.4.5 1.2.30 2.4.6 1.3.0 2.4.7 1.3.1 2.4.8 1.3.2 2.4.9 1.3.3 2.5.0 1.3.31 2.5.1 1.3.32 2.5.2 1.3.33 2.5.3 1.3.34 2.5.4 1.3.35 2.5.5 1.3.36 2.5.6 1.3.37 2.5.7 1.3.38 2.5.8 1.3.39 2.5.9 1.3.40 2.6.0 1.3.41 2.6.1 1.3.42 2.6.2 1.3.43 2.6.3 1.3.44 2.6.5 1.3.45 2.6.6 1.3.46 2.6.7 1.3.47 2.6.8 1.3.48 2.6.9 1.3.49 2.7.0 1.3.50 2.7.1 1.3.51 2.7.2 1.3.52 2.7.3 1.3.53 2.7.4 1.3.54 2.7.5 1.3.56 2.7.6 1.3.57 2.7.7 1.3.58 2.7.8 1.3.59 2.7.9 1.3.60 2.8.0 1.3.61 2.8.1 1.3.62 2.8.2 1.3.63 2.8.3 1.3.64 2.8.4 1.3.65 2.8.5 1.3.66 2.8.6 1.3.67 2.8.7 1.3.68 2.8.8 1.3.69 2.8.9 1.3.70 2.9.0 1.3.71 2.9.1 1.3.72 2.9.2 1.3.73 2.9.3 1.3.74 2.9.4 1.3.75 2.9.5 1.3.76 2.9.6 1.3.77 2.9.7 1.3.78 2.9.8 1.3.79 2.9.9 1.3.80 3.0.0 1.3.81 3.0.1 1.3.82 3.0.2 1.3.83 3.0.3 1.3.84 3.0.4 1.3.85 3.0.5 1.3.86 3.0.6 1.3.87 3.0.7 1.3.88 3.0.8 1.3.89 3.0.9 1.3.90 3.1.0 1.3.91 3.1.1 1.3.92 3.1.2 1.3.93 3.1.3 1.3.94 3.1.4 1.3.95 3.1.5 1.3.96 3.1.6 1.3.97 3.1.7 1.3.98 3.1.8 1.3.99 3.1.9 1.4.0 3.2.0 1.4.1 3.2.1 1.4.2 3.2.2 1.4.3 3.2.3 1.4.4 3.2.4 1.4.5 3.2.5 1.4.6 3.2.6 1.4.7 3.2.7 1.4.8 3.2.8 1.4.9 3.2.9 1.5.0 3.3.0 1.5.1 3.3.1 1.5.2 3.3.2 1.5.3 3.3.3 1.5.4 3.3.4 1.5.5 3.3.5 1.5.6 3.3.6 1.5.7 3.3.7 1.5.8 3.3.8 1.5.9 3.3.9 1.6.0 3.4.0 1.6.1 3.4.1 1.6.2 3.4.2 1.6.3 3.4.3 1.6.5 3.4.4 1.6.51 3.4.5 1.6.52 3.4.6 1.6.53 1.6.54 1.6.55 1.6.56 1.6.57 1.6.58 1.6.59 1.6.60 1.6.61 1.6.62 1.6.63 1.6.64 1.6.65 1.6.66 1.6.67 1.6.68 trunk 1.6.69 0.0.1 1.6.70 0.0.2 1.6.71 0.0.3 1.6.72 0.0.4 1.6.73 0.0.5 1.6.74 0.0.6 1.6.75 0.0.7 1.6.76 0.0.8 1.6.77 0.0.9 1.6.78 0.1.0 1.6.79 0.1.1 1.6.81 0.1.2 1.6.82 0.1.3 1.6.83 0.1.4 1.6.84 0.1.5 1.6.85 0.1.6 1.6.86 0.1.7 1.6.87 0.1.8 1.6.88 0.1.9 1.6.89 0.2.0 1.6.90
ai-engine / classes / query / assistant.php
ai-engine / classes / query Last commit date
assist-feedback.php 10 months ago assistant.php 2 months ago base.php 1 week ago dropped-file.php 3 months ago edit-image.php 3 months ago embed.php 3 months ago feedback.php 10 months ago function.php 1 month ago image.php 1 month ago parameter.php 11 months ago text.php 1 week ago transcribe.php 8 months ago
assistant.php
145 lines
1 <?php
2
3 class Meow_MWAI_Query_Assistant extends Meow_MWAI_Query_Base implements JsonSerializable {
4 // Core Content
5 public ?Meow_MWAI_Query_DroppedFile $attachedFile = null;
6 public ?array $attachedFiles = null;
7
8 // Parameters
9 public ?string $chatId = null;
10 public ?string $runId = null;
11 public ?string $assistantId = null;
12 public ?string $threadId = null;
13 public ?string $storeId = null; // Vector Store ID (https://platform.openai.com/docs/api-reference/vector-stores)
14
15 #region Constructors, Serialization
16
17 public function __construct( ?string $message = '' ) {
18 parent::__construct( $message );
19 $this->feature = 'assistant';
20 }
21
22 #[\ReturnTypeWillChange]
23 public function jsonSerialize(): array {
24 $json = [
25 'message' => $this->message,
26
27 'ai' => [
28 'model' => $this->model,
29 'feature' => $this->feature,
30 'assistantId' => $this->assistantId,
31 'threadId' => $this->threadId,
32 'storeId' => $this->storeId,
33 'runId' => $this->runId,
34 ],
35
36 'system' => [
37 'class' => get_class( $this ),
38 'envId' => $this->envId,
39 'scope' => $this->scope,
40 'session' => $this->session,
41 'customId' => $this->customId,
42 'chatId' => $this->chatId,
43 ]
44 ];
45
46 if ( !empty( $this->context ) ) {
47 $json['context']['context'] = $this->context;
48 }
49
50 if ( !empty( $this->attachedFile ) ) {
51 $json['context']['hasFile'] = true;
52 if ( $this->attachedFile->get_type() === 'url' ) {
53 $json['context']['fileUrl'] = $this->attachedFile->get_url();
54 }
55 }
56
57 if ( !empty( $this->attachedFiles ) ) {
58 $json['context']['hasFiles'] = true;
59 $json['context']['fileCount'] = count( $this->attachedFiles );
60 }
61
62 return $json;
63 }
64
65 #endregion
66
67 #region File Handling
68
69 /**
70 * Get all attached files as a normalized array.
71 * @return Meow_MWAI_Query_DroppedFile[] Array of attached files
72 */
73 public function getAttachments(): array {
74 $files = $this->attachedFiles ?? [];
75 if ( $this->attachedFile && !in_array( $this->attachedFile, $files, true ) ) {
76 array_unshift( $files, $this->attachedFile );
77 }
78 return $files;
79 }
80
81 public function add_file( Meow_MWAI_Query_DroppedFile $file ): void {
82 if ( $this->attachedFiles === null ) {
83 $this->attachedFiles = [];
84 }
85 $this->attachedFiles[] = $file;
86 }
87
88 public function set_files( array $files ): void {
89 $this->attachedFiles = $files;
90 }
91
92 public function get_files(): ?array {
93 return $this->attachedFiles;
94 }
95
96 #endregion
97
98 #region Parameters
99
100 public function setAssistantId( string $assistantId ): void {
101 $this->assistantId = $assistantId;
102 }
103
104 public function setChatId( string $chatId ): void {
105 $this->chatId = $chatId;
106 }
107
108 public function setThreadId( string $threadId ): void {
109 $this->threadId = $threadId;
110 }
111
112 public function setStoreId( string $storeId ): void {
113 $this->storeId = $storeId;
114 }
115
116 public function setRunId( string $runId ): void {
117 $this->runId = $runId;
118 }
119
120 #endregion
121
122 #region Inject Params
123
124 // Based on the params of the query, update the attributes
125 public function inject_params( array $params ): void {
126 parent::inject_params( $params );
127
128 // Those are for the keys passed directly by the shortcode.
129 $params = $this->convert_keys( $params );
130
131 // Additional for Assistant.
132 if ( !empty( $params['chatId'] ) ) {
133 $this->setChatId( $params['chatId'] );
134 }
135 if ( !empty( $params['assistantId'] ) ) {
136 $this->setAssistantId( $params['assistantId'] );
137 }
138 if ( !empty( $params['threadId'] ) ) {
139 $this->setThreadId( $params['threadId'] );
140 }
141 }
142
143 #endregion
144 }
145