Skip to repository content

tenant.openagents/omega

No repository description is available.

OpenAgents Git authority 2026-07-28T08:05:47.414Z Public web read
NIP-34 coordinate30617:7649603503856e5148d571eac2766b288a8ff1e9e35d380337a1d2b0015b4f92:omega
MaintainersHidden in public view
References2 branches · 1 tag
Read-only clonegit clone https://openagents.com/git/tenant.openagents/omega.git
Browse files

settings.rs

55 lines · 1.4 KB · rust
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
Served at tenant.openagents/omega Member data and write actions are omitted.