Skip to content

Commit 9c7ed38

Browse files
committed
fix: align telegram bridge with latest app-server protocol
1 parent 744d4b5 commit 9c7ed38

File tree

5 files changed

+24
-12
lines changed

5 files changed

+24
-12
lines changed

codex-rs/Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

codex-rs/app-server/src/codex_message_processor.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -764,7 +764,7 @@ impl CodexMessageProcessor {
764764
app_server_client_name.clone(),
765765
request_source,
766766
)
767-
.await;
767+
.await;
768768
}
769769
ClientRequest::PluginUninstall { request_id, params } => {
770770
self.plugin_uninstall(to_connection_request_id(request_id), params)
@@ -5865,7 +5865,7 @@ impl CodexMessageProcessor {
58655865

58665866
match turn_id {
58675867
Ok(turn_id) => {
5868-
let thread_state = self.thread_state_manager.thread_state(thread_id);
5868+
let thread_state = self.thread_state_manager.thread_state(thread_id).await;
58695869
let mut thread_state = thread_state.lock().await;
58705870
thread_state.set_reply_relay_cwd(relay_cwd);
58715871
if let Some(prompt) = relay_prompt {

codex-rs/app-server/src/in_process.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -406,6 +406,7 @@ fn start_uninitialized(args: InProcessStartArgs) -> InProcessClientHandle {
406406
cloud_requirements: args.cloud_requirements,
407407
feedback: args.feedback,
408408
log_db: None,
409+
telegram_reply_relay: None,
409410
config_warnings: args.config_warnings,
410411
session_source: args.session_source,
411412
enable_codex_api_key_env: args.enable_codex_api_key_env,

codex-rs/bridges/core/src/app_server.rs

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ use codex_app_server_protocol::DynamicToolCallOutputContentItem;
1313
use codex_app_server_protocol::DynamicToolCallResponse;
1414
use codex_app_server_protocol::FileChangeApprovalDecision;
1515
use codex_app_server_protocol::FileChangeRequestApprovalResponse;
16+
use codex_app_server_protocol::GrantedPermissionProfile;
1617
use codex_app_server_protocol::InitializeCapabilities;
1718
use codex_app_server_protocol::InitializeParams;
1819
use codex_app_server_protocol::InitializeResponse;
@@ -22,14 +23,16 @@ use codex_app_server_protocol::JSONRPCMessage;
2223
use codex_app_server_protocol::JSONRPCNotification;
2324
use codex_app_server_protocol::JSONRPCRequest;
2425
use codex_app_server_protocol::JSONRPCResponse;
26+
use codex_app_server_protocol::McpServerElicitationAction;
27+
use codex_app_server_protocol::McpServerElicitationRequestResponse;
2528
use codex_app_server_protocol::Model;
2629
use codex_app_server_protocol::ModelListParams;
2730
use codex_app_server_protocol::ModelListResponse;
31+
use codex_app_server_protocol::PermissionGrantScope;
32+
use codex_app_server_protocol::PermissionsRequestApprovalResponse;
2833
use codex_app_server_protocol::RequestId;
2934
use codex_app_server_protocol::ServerNotification;
3035
use codex_app_server_protocol::ServerRequest;
31-
use codex_app_server_protocol::SkillApprovalDecision;
32-
use codex_app_server_protocol::SkillRequestApprovalResponse;
3336
use codex_app_server_protocol::ThreadItem;
3437
use codex_app_server_protocol::ThreadResumeParams;
3538
use codex_app_server_protocol::ThreadResumeResponse;
@@ -142,6 +145,7 @@ impl AppServerClient {
142145
params: Some(
143146
serde_json::to_value(params).context("serialize `turn/interrupt` params")?,
144147
),
148+
trace: None,
145149
});
146150
self.write_jsonrpc_message(request)
147151
}
@@ -316,13 +320,11 @@ impl AppServerClient {
316320
let response = FileChangeRequestApprovalResponse { decision };
317321
self.send_response(request_id, response)
318322
}
319-
Ok(ServerRequest::SkillRequestApproval { request_id, .. }) => {
320-
let decision = if approvals.auto_approve_commands {
321-
SkillApprovalDecision::Approve
322-
} else {
323-
SkillApprovalDecision::Decline
323+
Ok(ServerRequest::PermissionsRequestApproval { request_id, .. }) => {
324+
let response = PermissionsRequestApprovalResponse {
325+
permissions: GrantedPermissionProfile::default(),
326+
scope: PermissionGrantScope::Turn,
324327
};
325-
let response = SkillRequestApprovalResponse { decision };
326328
self.send_response(request_id, response)
327329
}
328330
Ok(ServerRequest::ToolRequestUserInput { request_id, params }) => {
@@ -344,6 +346,14 @@ impl AppServerClient {
344346
let response = ToolRequestUserInputResponse { answers };
345347
self.send_response(request_id, response)
346348
}
349+
Ok(ServerRequest::McpServerElicitationRequest { request_id, .. }) => {
350+
let response = McpServerElicitationRequestResponse {
351+
action: McpServerElicitationAction::Cancel,
352+
content: None,
353+
meta: None,
354+
};
355+
self.send_response(request_id, response)
356+
}
347357
Ok(ServerRequest::DynamicToolCall { request_id, .. }) => {
348358
let response = DynamicToolCallResponse {
349359
content_items: vec![DynamicToolCallOutputContentItem::InputText {
@@ -408,6 +418,7 @@ impl AppServerClient {
408418
id: request_id.clone(),
409419
method: method.to_string(),
410420
params: Some(serde_json::to_value(params).context("serialize request params")?),
421+
trace: None,
411422
});
412423
self.write_jsonrpc_message(request)?;
413424

codex-rs/exec/src/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -693,7 +693,7 @@ async fn run_exec_session(args: ExecRunArgs) -> anyhow::Result<()> {
693693
params: TurnStartParams {
694694
thread_id: primary_thread_id_for_span.clone(),
695695
input: items.into_iter().map(Into::into).collect(),
696-
cwd: Some(default_cwd),
696+
cwd: Some(default_cwd.clone()),
697697
approval_policy: Some(default_approval_policy.into()),
698698
sandbox_policy: Some(default_sandbox_policy.clone().into()),
699699
model: None,

0 commit comments

Comments
 (0)