PluginProbe ʕ •ᴥ•ʔ
AI Engine – The Chatbot, AI Framework & MCP for WordPress / 3.3.5
AI Engine – The Chatbot, AI Framework & MCP for WordPress v3.3.5
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 6 months ago base.php 6 months ago dropped-file.php 5 months ago edit-image.php 8 months ago embed.php 7 months ago feedback.php 10 months ago function.php 8 months ago image.php 6 months ago parameter.php 11 months ago text.php 6 months ago transcribe.php 8 months ago
assistant.php
128 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
7 // Parameters
8 public ?string $chatId = null;
9 public ?string $runId = null;
10 public ?string $assistantId = null;
11 public ?string $threadId = null;
12 public ?string $storeId = null; // Vector Store ID (https://platform.openai.com/docs/api-reference/vector-stores)
13
14 #region Constructors, Serialization
15
16 public function __construct( ?string $message = '' ) {
17 parent::__construct( $message );
18 $this->feature = 'assistant';
19 }
20
21 #[\ReturnTypeWillChange]
22 public function jsonSerialize(): array {
23 $json = [
24 'message' => $this->message,
25
26 'ai' => [
27 'model' => $this->model,
28 'feature' => $this->feature,
29 'assistantId' => $this->assistantId,
30 'threadId' => $this->threadId,
31 'storeId' => $this->storeId,
32 'runId' => $this->runId,
33 ],
34
35 'system' => [
36 'class' => get_class( $this ),
37 'envId' => $this->envId,
38 'scope' => $this->scope,
39 'session' => $this->session,
40 'customId' => $this->customId,
41 'chatId' => $this->chatId,
42 ]
43 ];
44
45 if ( !empty( $this->context ) ) {
46 $json['context']['context'] = $this->context;
47 }
48
49 if ( !empty( $this->attachedFile ) ) {
50 $json['context']['hasFile'] = true;
51 // Assistant only supports URL for now.
52 if ( $this->attachedFile->get_type() === 'url' ) {
53 $json['context']['fileUrl'] = $this->attachedFile->get_url();
54 }
55 }
56
57 return $json;
58 }
59
60 #endregion
61
62 #region File Handling
63
64 /**
65 * Get all attached files as a normalized array.
66 * TODO: Remove after April 2026 - Legacy attachedFile support
67 *
68 * @return Meow_MWAI_Query_DroppedFile[] Array of attached files
69 */
70 public function getAttachments(): array {
71 // Assistant queries currently only support single file (attachedFile)
72 // Return it as an array for consistency
73 if ( $this->attachedFile ) {
74 return [ $this->attachedFile ];
75 }
76 return [];
77 }
78
79 #endregion
80
81 #region Parameters
82
83 public function setAssistantId( string $assistantId ): void {
84 $this->assistantId = $assistantId;
85 }
86
87 public function setChatId( string $chatId ): void {
88 $this->chatId = $chatId;
89 }
90
91 public function setThreadId( string $threadId ): void {
92 $this->threadId = $threadId;
93 }
94
95 public function setStoreId( string $storeId ): void {
96 $this->storeId = $storeId;
97 }
98
99 public function setRunId( string $runId ): void {
100 $this->runId = $runId;
101 }
102
103 #endregion
104
105 #region Inject Params
106
107 // Based on the params of the query, update the attributes
108 public function inject_params( array $params ): void {
109 parent::inject_params( $params );
110
111 // Those are for the keys passed directly by the shortcode.
112 $params = $this->convert_keys( $params );
113
114 // Additional for Assistant.
115 if ( !empty( $params['chatId'] ) ) {
116 $this->setChatId( $params['chatId'] );
117 }
118 if ( !empty( $params['assistantId'] ) ) {
119 $this->setAssistantId( $params['assistantId'] );
120 }
121 if ( !empty( $params['threadId'] ) ) {
122 $this->setThreadId( $params['threadId'] );
123 }
124 }
125
126 #endregion
127 }
128