Skip to repository content55 lines · 1.4 KB · rust
tenant.openagents/omega
No repository description is available.
OpenAgents Git authority 2026-07-28T06:56:22.510Z Public web read
NIP-34 coordinate
30617:7649603503856e5148d571eac2766b288a8ff1e9e35d380337a1d2b0015b4f92:omegaMaintainersHidden in public view
References2 branches · 1 tag
Read-only clone
git clone https://openagents.com/git/tenant.openagents/omega.gitBrowse files
settings.rs
1use anyhow::Result;
2use serde_json::Value;
3
4use crate::migrations::migrate_settings;
5
6pub fn migrate_experimental_sweep_mercury(value: &mut Value) -> Result<()> {
7 migrate_settings(value, &mut |obj| {
8 migrate_one(obj);
9 Ok(())
10 })
11}
12
13fn migrate_one(obj: &mut serde_json::Map<String, Value>) {
14 if let Some(edit_predictions) = obj.get_mut("edit_predictions") {
15 if let Some(edit_predictions_obj) = edit_predictions.as_object_mut() {
16 migrate_provider_field(edit_predictions_obj, "provider");
17 }
18 }
19
20 if let Some(features) = obj.get_mut("features") {
21 if let Some(features_obj) = features.as_object_mut() {
22 migrate_provider_field(features_obj, "edit_prediction_provider");
23 }
24 }
25}
26
27fn migrate_provider_field(obj: &mut serde_json::Map<String, Value>, field_name: &str) {
28 let Some(provider) = obj.get(field_name) else {
29 return;
30 };
31
32 let Some(provider_obj) = provider.as_object() else {
33 return;
34 };
35
36 let Some(experimental_name) = provider_obj.get("experimental") else {
37 return;
38 };
39
40 let Some(name) = experimental_name.as_str() else {
41 return;
42 };
43
44 let provider_name = match name {
45 "sweep" | "mercury" => name,
46 "zeta2" => "zed",
47 _ => return,
48 };
49
50 obj.insert(
51 field_name.to_string(),
52 Value::String(provider_name.to_string()),
53 );
54}
55