Skip to content

Commit eb86c66

Browse files
gcmsgclaude
andcommitted
fix: resolve EmittedMessage type mismatches for wit_bindgen generated API
emit_message takes &EmittedMessage (borrow), and all record fields are owned Strings — update call sites accordingly. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 891d1f6 commit eb86c66

File tree

1 file changed

+15
-14
lines changed

1 file changed

+15
-14
lines changed

src/lib.rs

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -153,16 +153,17 @@ impl Guest for PeerClawChannel {
153153

154154
// Extract peer ID from session key for user identification.
155155
let user_id = extract_peer_id(&data.session_key);
156+
let metadata_json = format!(
157+
r#"{{"channel":"peerclaw","sessionKey":"{}"}}"#,
158+
data.session_key
159+
);
156160

157-
channel_host::emit_message(channel_host::EmittedMessage {
158-
user_id: &user_id,
161+
channel_host::emit_message(&channel_host::EmittedMessage {
162+
user_id: user_id.clone(),
159163
user_name: None,
160-
content: &data.message,
161-
thread_id: Some(&data.session_key),
162-
metadata_json: &format!(
163-
r#"{{"channel":"peerclaw","sessionKey":"{}"}}"#,
164-
data.session_key
165-
),
164+
content: data.message,
165+
thread_id: Some(data.session_key),
166+
metadata_json,
166167
attachments: vec![],
167168
});
168169

@@ -190,12 +191,12 @@ impl Guest for PeerClawChannel {
190191
};
191192

192193
// Notifications are injected as system messages.
193-
channel_host::emit_message(channel_host::EmittedMessage {
194-
user_id: "peerclaw-system",
195-
user_name: Some("PeerClaw"),
196-
content: &data.message,
194+
channel_host::emit_message(&channel_host::EmittedMessage {
195+
user_id: "peerclaw-system".to_string(),
196+
user_name: Some("PeerClaw".to_string()),
197+
content: data.message,
197198
thread_id: None,
198-
metadata_json: r#"{"channel":"peerclaw","type":"notification"}"#,
199+
metadata_json: r#"{"channel":"peerclaw","type":"notification"}"#.to_string(),
199200
attachments: vec![],
200201
});
201202

@@ -233,7 +234,7 @@ impl Guest for PeerClawChannel {
233234
data: BridgeResponseData {
234235
session_key,
235236
state: "final".to_string(),
236-
message: response.content.clone(),
237+
message: response.content,
237238
},
238239
};
239240

0 commit comments

Comments
 (0)