oai-statsig-rust 0.28.0

Statsig Rust SDK for usage in multi-user server environments.
Documentation
{
    "dynamic_configs": {
        "child_experiment": {
            "type": "dynamic_config",
            "salt": "child-salt",
            "enabled": true,
            "defaultValue": {},
            "rules": [
                {
                    "name": "Test",
                    "groupName": "Test",
                    "passPercentage": 100,
                    "conditions": [
                        "public"
                    ],
                    "returnValue": {
                        "variant": "test"
                    },
                    "id": "test-group",
                    "salt": "test-group",
                    "idType": "userID",
                    "isExperimentGroup": true
                }
            ],
            "idType": "userID",
            "entity": "experiment",
            "isActive": true,
            "hasSharedParams": true,
            "explicitParameters": [
                "variant"
            ],
            "version": 1
        }
    },
    "feature_gates": {
        "test_fail_gate_not_found": {
            "type": "feature_gate",
            "salt": "some-salt",
            "enabled": true,
            "defaultValue": false,
            "rules": [
                {
                    "name": "test_rule",
                    "passPercentage": 100,
                    "conditions": [
                        "cond_fail_gate_not_found"
                    ],
                    "returnValue": {},
                    "id": "test_rule",
                    "salt": "",
                    "isDeviceBased": false,
                    "idType": "userID"
                }
            ],
            "isDeviceBased": false,
            "idType": "userID",
            "entity": "feature_gate",
            "version": 1
        },
        "test_fail_gate_not_set": {
            "type": "feature_gate",
            "salt": "some-salt",
            "enabled": true,
            "defaultValue": false,
            "rules": [
                {
                    "name": "test_rule",
                    "passPercentage": 100,
                    "conditions": [
                        "cond_fail_gate_not_set"
                    ],
                    "returnValue": {},
                    "id": "test_rule",
                    "salt": "",
                    "isDeviceBased": false,
                    "idType": "userID"
                }
            ],
            "isDeviceBased": false,
            "idType": "userID",
            "entity": "feature_gate",
            "version": 1
        },
        "test_pass_gate_not_found": {
            "type": "feature_gate",
            "salt": "some-salt",
            "enabled": true,
            "defaultValue": false,
            "rules": [
                {
                    "name": "test_rule",
                    "passPercentage": 100,
                    "conditions": [
                        "cond_pass_gate_not_found"
                    ],
                    "returnValue": {},
                    "id": "test_rule",
                    "salt": "",
                    "isDeviceBased": false,
                    "idType": "userID"
                }
            ],
            "isDeviceBased": false,
            "idType": "userID",
            "entity": "feature_gate",
            "version": 1
        },
        "test_pass_gate_not_set": {
            "type": "feature_gate",
            "salt": "some-salt",
            "enabled": true,
            "defaultValue": false,
            "rules": [
                {
                    "name": "test_rule",
                    "passPercentage": 100,
                    "conditions": [
                        "cond_pass_gate_not_set"
                    ],
                    "returnValue": {},
                    "id": "test_rule",
                    "salt": "",
                    "isDeviceBased": false,
                    "idType": "userID"
                }
            ],
            "isDeviceBased": false,
            "idType": "userID",
            "entity": "feature_gate",
            "version": 1
        },
        "test_holdout": {
            "type": "feature_gate",
            "salt": "holdout-salt",
            "enabled": true,
            "defaultValue": false,
            "rules": [
                {
                    "name": "holdout",
                    "passPercentage": 100,
                    "conditions": [
                        "holdout_user"
                    ],
                    "returnValue": true,
                    "id": "holdout-rule",
                    "salt": "holdout-rule",
                    "idType": "userID"
                }
            ],
            "idType": "userID",
            "entity": "holdout",
            "version": 1
        }
    },
    "layer_configs": {
        "test_layer": {
            "type": "dynamic_config",
            "salt": "layer-salt",
            "enabled": true,
            "defaultValue": {
                "variant": "generic"
            },
            "rules": [
                {
                    "name": "dangling segment override",
                    "groupName": "child_experiment:test-group:segment:deleted",
                    "passPercentage": 100,
                    "conditions": [
                        "dangling_segment"
                    ],
                    "returnValue": {
                        "variant": "generic"
                    },
                    "id": "child_experiment test-group:override",
                    "salt": "",
                    "configDelegate": "child_experiment",
                    "idType": "userID"
                },
                {
                    "name": "test_holdout",
                    "groupName": "test_holdout",
                    "passPercentage": 100,
                    "conditions": [
                        "passes_holdout"
                    ],
                    "returnValue": {
                        "variant": "generic"
                    },
                    "id": "holdout-id",
                    "salt": "",
                    "idType": "userID"
                },
                {
                    "name": "Experiment Assignment",
                    "groupName": "Experiment Assignment",
                    "passPercentage": 100,
                    "conditions": [
                        "public"
                    ],
                    "returnValue": {
                        "variant": "generic"
                    },
                    "id": "experimentAssignment",
                    "salt": "",
                    "configDelegate": "child_experiment",
                    "idType": "userID"
                }
            ],
            "idType": "userID",
            "entity": "layer",
            "useNewLayerEval": false,
            "version": 1
        }
    },
    "id_lists": {},
    "has_updates": true,
    "time": 1680812313625,
    "condition_map": {
        "cond_pass_gate_not_found": {
            "type": "pass_gate",
            "targetValue": "non_existent_gate",
            "operator": null,
            "field": null,
            "additionalValues": {},
            "isDeviceBased": false,
            "idType": "userID"
        },
        "cond_pass_gate_not_set": {
            "type": "pass_gate",
            "operator": null,
            "field": null,
            "additionalValues": {},
            "isDeviceBased": false,
            "idType": "userID"
        },
        "cond_fail_gate_not_found": {
            "type": "fail_gate",
            "targetValue": "non_existent_gate",
            "operator": null,
            "field": null,
            "additionalValues": {},
            "isDeviceBased": false,
            "idType": "userID"
        },
        "cond_fail_gate_not_set": {
            "type": "fail_gate",
            "operator": null,
            "field": null,
            "additionalValues": {},
            "isDeviceBased": false,
            "idType": "userID"
        },
        "dangling_segment": {
            "type": "pass_gate",
            "targetValue": "segment:deleted",
            "operator": null,
            "field": null,
            "additionalValues": {},
            "idType": "userID"
        },
        "passes_holdout": {
            "type": "pass_gate",
            "targetValue": "test_holdout",
            "operator": null,
            "field": null,
            "additionalValues": {},
            "idType": "userID"
        },
        "holdout_user": {
            "type": "unit_id",
            "targetValue": [
                "holdout-user"
            ],
            "operator": "any",
            "field": null,
            "additionalValues": {},
            "idType": "userID"
        },
        "public": {
            "type": "public",
            "targetValue": null,
            "operator": null,
            "field": null,
            "additionalValues": {},
            "idType": "userID"
        }
    },
    "experiment_to_layer": {
        "child_experiment": "test_layer"
    }
}