Bump version to 2.0.0 and upload install-galaxy.sh in deploy script

- Update version from 1.6.3 to 2.0.0 in app/Cargo.toml and Cargo.lock
- Add install-galaxy.sh upload step to build-and-deploy-hermes script
- Include pending AI provider and agent changes
This commit is contained in:
Ryan Ward
2026-07-15 16:17:13 -05:00
parent af5315313d
commit e9a9a4c30f
19 changed files with 523 additions and 61 deletions
+2
View File
@@ -9,6 +9,8 @@ pub struct OpenAIClientConfig {
pub base_url: String,
pub api_key: Option<String>,
pub model: Option<String>,
pub max_input_tokens: Option<u32>,
pub max_output_tokens: Option<u32>,
}
pub struct OpenAIClient {
+14 -3
View File
@@ -30,6 +30,7 @@ pub fn openai_stream_to_response_events(
user_query: Option<String>,
messages_sent: Arc<Mutex<Vec<ConversationMessage>>>,
model_id: String,
max_context_tokens: Option<u32>,
_tool_result_archive: Vec<ConversationMessage>,
) -> BoxStream<'static, Event> {
use futures::StreamExt;
@@ -269,7 +270,14 @@ pub fn openai_stream_to_response_events(
}
let cost = estimate_cost_cents(input_tokens as u32, output_tokens as u32, &model_id);
let finished_event = build_stream_finished(stop_reason, input_tokens, output_tokens, cost, &model_id);
let finished_event = build_stream_finished(
stop_reason,
input_tokens,
output_tokens,
cost,
&model_id,
max_context_tokens,
);
yield Ok(finished_event);
log::info!("[openai] Stream finished: input_tokens={input_tokens}, output_tokens={output_tokens}");
@@ -409,6 +417,7 @@ fn build_stream_finished(
output_tokens: i32,
cost_in_cents: f32,
model_id: &str,
max_context_tokens: Option<u32>,
) -> ResponseEvent {
let total_tokens = (input_tokens + output_tokens) as u32;
@@ -434,12 +443,14 @@ fn build_stream_finished(
cost_in_cents,
}];
let max_context_tokens = context_window_for_model(model_id);
let max_context_tokens =
max_context_tokens.unwrap_or_else(|| context_window_for_model(model_id));
let context_usage = if max_context_tokens > 0 {
input_tokens as f32 / max_context_tokens as f32
} else {
0.0
};
}
.clamp(0.0, 1.0);
#[allow(deprecated)]
let conversation_usage_metadata = Some(stream_finished::ConversationUsageMetadata {
+14 -1
View File
@@ -10,6 +10,8 @@ use crate::ai::agent::api::ResponseStream;
use crate::ai::bedrock::request_translator;
use crate::ai::provider::types::{ConversationMessage, MessageContent, MessageRole};
const DEFAULT_MAX_OUTPUT_TOKENS: u32 = 64_000;
pub struct TranslatorRequest {
pub config: OpenAIClientConfig,
pub model_id: String,
@@ -98,6 +100,10 @@ pub async fn execute(
messages.extend(new_input_messages);
}
for message in &mut messages {
message.truncate_tool_results_for_provider_request();
}
sanitize_messages_for_openai(&mut messages);
let system_prompt = request_translator::extract_system_prompt(request);
@@ -112,11 +118,17 @@ pub async fn execute(
let user_query_text = request_translator::extract_user_query_text(request);
let max_output_tokens = params
.config
.max_output_tokens
.unwrap_or(DEFAULT_MAX_OUTPUT_TOKENS)
.min(i32::MAX as u32) as i32;
let request_body = build_openai_request(
messages.clone(),
system_prompt,
tools,
64000,
max_output_tokens,
None,
&model_id,
);
@@ -140,6 +152,7 @@ pub async fn execute(
user_query_text,
params.messages_sent.clone(),
model_id,
params.config.max_input_tokens,
params.tool_result_archive,
);