Skip to main content

hematite/tools/
scoping_tools.rs

1use serde_json::{json, Value};
2
3pub fn get_scoping_definitions() -> Vec<Value> {
4    vec![
5        json!({
6            "name": "auto_pin_context",
7            "description": "Select 1-3 core files to 'Lock' into prioritized memory. \
8                             Use this to ensure the most important architecture files \
9                             are always visible during complex refactorings.",
10            "parameters": {
11                "type": "object",
12                "properties": {
13                    "paths": {
14                        "type": "array",
15                        "items": { "type": "string" },
16                        "description": "List of relative paths to pin (max 3)."
17                    },
18                    "reason": {
19                        "type": "string",
20                        "description": "Brief explanation of why these files are the project's 'Core' for the current task."
21                    }
22                },
23                "required": ["paths", "reason"]
24            }
25        }),
26        json!({
27            "name": "list_pinned",
28            "description": "List all files currently pinned in the model's active context.",
29            "parameters": {
30                "type": "object",
31                "properties": {}
32            }
33        }),
34    ]
35}