roots/list) होती है। Dedalus MCP एक सर्वर‑साइड RootsService प्रदान करता है जो:
- Client से रूट्स फ़ेच करता है,
- प्रति‑सेशन स्नैपशॉट को कैश करता है, और
- पाथ जाँच के लिए
RootGuardहेल्पर उपलब्ध कराता है।
बुनियादी उपयोग
रूट संरचना
| फ़ील्ड | प्रकार | विवरण |
|---|---|---|
uri | str | रूट URI (आमतौर पर file:// URI) |
name | str | मानव-पठनीय नाम |
उदाहरण: सुरक्षित फ़ाइल ऑपरेशन (RootGuard)
RootGuard का उपयोग करके जाँचें कि दिया गया path अनुमत roots में से किसी एक के भीतर है या नहीं:
उदाहरण: प्रोजेक्ट खोज (file:// रूट्स)
file://... URI हैं, तो आप उन्हें ट्रैवर्स (walk) करके प्रोजेक्ट खोज सकते हैं।
उदाहरण: स्कोप्ड सर्च
नोट्स
- कैशिंग:
server.roots.snapshot(session)कैश की गई roots लौटाता है।await server.roots.refresh(session)client को कॉल करके कैश को अपडेट करता है। - Client‑driven अपडेट्स: अगर client
roots/list_changedभेजता है, तो Dedalus MCP उस session के लिए snapshot अपने आप (debounced) अपडेट कर देता है। - सुरक्षा: roots मार्गदर्शन के साथ‑साथ आपकी अपनी जाँचों के लिए एक boundary के रूप में काम करते हैं। अगर आप file I/O कर रहे हैं, तो पढ़ने/लिखने से पहले हमेशा एक guard (
RootGuard.within(...)) लागू करें।