PluginProbe ʕ •ᴥ•ʔ
AI Engine – The Chatbot, AI Framework & MCP for WordPress / 3.1.3
AI Engine – The Chatbot, AI Framework & MCP for WordPress v3.1.3
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 8 months ago base.php 8 months ago dropped-file.php 8 months ago edit-image.php 8 months ago embed.php 10 months ago feedback.php 10 months ago function.php 8 months ago image.php 8 months ago parameter.php 1 year ago text.php 8 months ago transcribe.php 8 months ago
assistant.php
129 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 * This method provides backward compatibility by merging both attachedFile (legacy)
67 * and attachedFiles (current) into a single array.
68 *
69 * @return Meow_MWAI_Query_DroppedFile[] Array of attached files
70 */
71 public function getAttachments(): array {
72 // Assistant queries currently only support single file (attachedFile)
73 // Return it as an array for consistency
74 if ( $this->attachedFile ) {
75 return [ $this->attachedFile ];
76 }
77 return [];
78 }
79
80 #endregion
81
82 #region Parameters
83
84 public function setAssistantId( string $assistantId ): void {
85 $this->assistantId = $assistantId;
86 }
87
88 public function setChatId( string $chatId ): void {
89 $this->chatId = $chatId;
90 }
91
92 public function setThreadId( string $threadId ): void {
93 $this->threadId = $threadId;
94 }
95
96 public function setStoreId( string $storeId ): void {
97 $this->storeId = $storeId;
98 }
99
100 public function setRunId( string $runId ): void {
101 $this->runId = $runId;
102 }
103
104 #endregion
105
106 #region Inject Params
107
108 // Based on the params of the query, update the attributes
109 public function inject_params( array $params ): void {
110 parent::inject_params( $params );
111
112 // Those are for the keys passed directly by the shortcode.
113 $params = $this->convert_keys( $params );
114
115 // Additional for Assistant.
116 if ( !empty( $params['chatId'] ) ) {
117 $this->setChatId( $params['chatId'] );
118 }
119 if ( !empty( $params['assistantId'] ) ) {
120 $this->setAssistantId( $params['assistantId'] );
121 }
122 if ( !empty( $params['threadId'] ) ) {
123 $this->setThreadId( $params['threadId'] );
124 }
125 }
126
127 #endregion
128 }
129