MCPcopy Create free account
hub / github.com/ScriptedAlchemy/tracedecay / codex_post_compact

Function codex_post_compact

src/hooks/codex.rs:467–517  ·  view source on GitHub ↗
(event_json: &str)

Source from the content-addressed store, hash-verified

465}
466
467async fn codex_post_compact(event_json: &str) {
468 let work = async {
469 let Some(project_root) = codex_project_root_from_event(event_json) else {
470 return;
471 };
472 if !crate::tracedecay::TraceDecay::has_initialized_store(&project_root).await {
473 return;
474 }
475 let Some(db) = crate::sessions::cursor::open_project_session_db(&project_root).await else {
476 return;
477 };
478 if let Some(source) = crate::sessions::codex::CodexSource::new() {
479 let _ = crate::sessions::source::ingest_source(&db, &source, &project_root, None).await;
480 }
481 let session_id = serde_json::from_str::<Value>(event_json)
482 .ok()
483 .and_then(|parsed| event_session_id(&parsed));
484 let Ok(mut pending) = db
485 .pending_codex_compaction_summary_requests(session_id.as_deref(), 1)
486 .await
487 else {
488 return;
489 };
490 let Some(pending) = pending.pop() else {
491 return;
492 };
493 let config = crate::sessions::codex_app_server::CodexAppServerSummaryConfig::from_env();
494 let summary = match crate::sessions::codex_app_server::summarize_with_codex_app_server(
495 &pending.request,
496 &config,
497 ) {
498 Ok(summary) => summary,
499 Err(err) => {
500 eprintln!("tracedecay Codex PostCompact summary failed: {err}");
501 return;
502 }
503 };
504 if let Err(err) = db
505 .replace_codex_compaction_summary(
506 &pending.node_id,
507 &summary.text,
508 "codex_app_server",
509 summary.model.as_deref().or(config.model.as_deref()),
510 )
511 .await
512 {
513 eprintln!("tracedecay Codex PostCompact summary replacement failed: {err}");
514 }
515 };
516 let _ = tokio::time::timeout(CODEX_POST_COMPACT_BUDGET, work).await;
517}
518
519async fn reset_counter_for_codex_event(event_json: &str) {
520 let Some(project_root) = codex_project_root_from_event(event_json) else {

Callers 1

hook_codex_post_compactFunction · 0.85

Tested by

no test coverage detected