add product client id

This commit is contained in:
Roy Han
2026-03-25 15:32:12 -07:00
parent f0bc8dec3e
commit 2737227745
2 changed files with 25 additions and 5 deletions

View File

@@ -42,6 +42,7 @@ pub struct CodexThreadInitializedEvent {
pub struct CodexThreadInitializedInput {
pub thread_id: String,
pub model: String,
pub product_client_id: String,
pub created_at: u64,
pub thread_context: CodexThreadContext,
}
@@ -460,6 +461,7 @@ impl AnalyticsReducer {
input: CodexThreadInitializedInput,
out: &mut Vec<TrackEventRequest>,
) {
let product_client_id = input.product_client_id.clone();
let event = CodexThreadInitializedEvent {
thread_id: input.thread_id,
model: input.model,
@@ -477,10 +479,7 @@ impl AnalyticsReducer {
},
);
out.push(TrackEventRequest::ThreadInitialized(
CodexThreadInitializedEventRequest {
event_type: "codex_thread_initialized",
event_params: codex_thread_initialized_event_params(event),
},
codex_thread_initialized_event_request(product_client_id, event),
));
}
@@ -602,10 +601,30 @@ fn codex_app_metadata(tracking: &TrackEventsContext, app: AppInvocation) -> Code
fn codex_thread_initialized_event_params(
thread_event: CodexThreadInitializedEvent,
) -> CodexThreadInitializedEventParams {
codex_thread_initialized_event_params_with_product_client_id(originator().value, thread_event)
}
fn codex_thread_initialized_event_request(
product_client_id: String,
thread_event: CodexThreadInitializedEvent,
) -> CodexThreadInitializedEventRequest {
CodexThreadInitializedEventRequest {
event_type: "codex_thread_initialized",
event_params: codex_thread_initialized_event_params_with_product_client_id(
product_client_id,
thread_event,
),
}
}
fn codex_thread_initialized_event_params_with_product_client_id(
product_client_id: String,
thread_event: CodexThreadInitializedEvent,
) -> CodexThreadInitializedEventParams {
CodexThreadInitializedEventParams {
thread_id: thread_event.thread_id,
product_client_id: originator().value,
product_client_id,
model: thread_event.model,
ephemeral: thread_event.ephemeral,
session_source: session_source_name(&thread_event.session_source),

View File

@@ -677,6 +677,7 @@ impl Codex {
.collaboration_mode
.model()
.to_string(),
product_client_id: crate::default_client::originator().value,
created_at: SystemTime::now()
.duration_since(UNIX_EPOCH)
.unwrap_or_default()