AI models
This commit is contained in:
@@ -31,7 +31,6 @@ pub trait RunScript: Sync + Send {
|
||||
script_id: String,
|
||||
script: Arc<Sieve>,
|
||||
params: ScriptParameters<'_>,
|
||||
session_id: u64,
|
||||
) -> impl Future<Output = ScriptResult> + Send;
|
||||
}
|
||||
|
||||
@@ -41,7 +40,6 @@ impl RunScript for Server {
|
||||
script_id: String,
|
||||
script: Arc<Sieve>,
|
||||
params: ScriptParameters<'_>,
|
||||
session_id: u64,
|
||||
) -> ScriptResult {
|
||||
// Create filter instance
|
||||
let time = Instant::now();
|
||||
@@ -56,6 +54,7 @@ impl RunScript for Server {
|
||||
.with_user_full_name(¶ms.from_name);
|
||||
let mut input = Input::script("__script", script);
|
||||
let mut messages: Vec<Vec<u8>> = Vec::new();
|
||||
let session_id = params.session_id;
|
||||
|
||||
let mut reject_reason = None;
|
||||
let mut modifications = vec![];
|
||||
@@ -124,6 +123,7 @@ impl RunScript for Server {
|
||||
server: self,
|
||||
message: instance.message(),
|
||||
modifications: &mut modifications,
|
||||
access_token: params.access_token,
|
||||
arguments,
|
||||
},
|
||||
)
|
||||
|
||||
@@ -132,9 +132,9 @@ impl<T: SessionStream> Session<T> {
|
||||
script_id,
|
||||
script,
|
||||
params
|
||||
.with_session_id(self.data.session_id)
|
||||
.with_envelope(&self.server, self, self.data.session_id)
|
||||
.await,
|
||||
self.data.session_id,
|
||||
)
|
||||
.await
|
||||
}
|
||||
|
||||
@@ -7,7 +7,9 @@
|
||||
use std::borrow::Cow;
|
||||
|
||||
use ahash::AHashMap;
|
||||
use common::{expr::functions::ResolveVariable, scripts::ScriptModification, Server};
|
||||
use common::{
|
||||
auth::AccessToken, expr::functions::ResolveVariable, scripts::ScriptModification, Server,
|
||||
};
|
||||
use sieve::{runtime::Variable, Envelope};
|
||||
|
||||
pub mod envelope;
|
||||
@@ -38,6 +40,8 @@ pub struct ScriptParameters<'x> {
|
||||
sign: Vec<String>,
|
||||
#[cfg(feature = "test_mode")]
|
||||
expected_variables: Option<AHashMap<String, Variable>>,
|
||||
access_token: Option<&'x AccessToken>,
|
||||
session_id: u64,
|
||||
}
|
||||
|
||||
impl<'x> ScriptParameters<'x> {
|
||||
@@ -53,6 +57,8 @@ impl<'x> ScriptParameters<'x> {
|
||||
from_name: Default::default(),
|
||||
return_path: Default::default(),
|
||||
sign: Default::default(),
|
||||
access_token: None,
|
||||
session_id: Default::default(),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -108,6 +114,16 @@ impl<'x> ScriptParameters<'x> {
|
||||
self
|
||||
}
|
||||
|
||||
pub fn with_access_token(mut self, access_token: &'x AccessToken) -> Self {
|
||||
self.access_token = Some(access_token);
|
||||
self
|
||||
}
|
||||
|
||||
pub fn with_session_id(mut self, session_id: u64) -> Self {
|
||||
self.session_id = session_id;
|
||||
self
|
||||
}
|
||||
|
||||
#[cfg(feature = "test_mode")]
|
||||
pub fn with_expected_variables(
|
||||
mut self,
|
||||
|
||||
Reference in New Issue
Block a user