इस प्रोजेक्ट के बारे में

# Omnia: लाइटवेट WebAssembly रनटाइम Omnia WebAssembly (WASI) घटकों के लिए एक हल्का, सुरक्षित रनटाइम है। यह [wasmtime](https://github.com/bytecodealliance/wasmtime) के चारों ओर एक पतला, एर्गोनोमिक रैपर प्रदान करता है ताकि HTTP, मैसेजिंग, key-value स्टोर, और मॉडल कम्प्लीशन जैसी होस्ट-आधारित सेवाओं को आपके WASI अनुप्रयोगों में आसानी से एकीकृत किया जा सके। हालांकि इसे स्टैंडअलोन उपयोग किया जा सकता है, Omnia मुख्य रूप से **Augentic के Agent Skills** के लिए रनटाइम होने के लिए डिज़ाइन किया गया है। यह सुनिश्चित करता है कि एजेंट-जनित कोड एक सुरक्षित, सैंडबॉक्स्ड वातावरण में चलता है, जबकि आवश्यक इंफ्रास्ट्रक्चर तक नियंत्रित पहुंच होती है। ## Omnia क्यों? - **डिफ़ॉल्ट रूप से सुरक्षित**: सभी गेस्ट कोड एक सख्त WebAssembly सैंडबॉक्स में चलते हैं। क्षमताएं (नेटवर्क, फाइलसिस्टम, मॉडल एक्सेस) स्पष्ट रूप से प्रदान की जाती हैं। - **सब कुछ शामिल**: सामान्य WASI इंटरफेस के लिए अंतर्निहित समर्थन — HTTP, key-value, मैसेजिंग, SQL, ब्लॉब और दस्तावेज़ स्टोरेज, सीक्रेट्स, पहचान, WebSockets, ऑब्जर्वेबिलिटी, और मॉडल कम्प्लीशन — प्रत्येक के साथ एक शून्य-कॉन्फ़िग डिफ़ॉल्ट बैकएंड। - **डेवलपर-अनुकूल**: टाइप किए गए स्पष्ट गेस्ट API और `runtime!` होस्ट मैक्रो बाउंड्रीज़ को दोहराव वाले ट्रांसपोर्ट ग्लू के बिना दृश्यमान रखते हैं। - **प्लगेबल आर्किटेक्चर**: बैकएंड कार्यान्वयन (जैसे इन-मेमोरी से Redis) को गेस्ट कोड बदले या पुनः संकलित किए बिना स्वैप करें। प्रोडक्शन बैकएंड सहयोगी [`omnia-backends`](https://github.com/augentic/omnia-backends) रिपॉजिटरी में रहते हैं। - **मल्टी-गेस्ट डिप्लॉयमेंट**: एक रनटाइम कई गेस्ट होस्ट कर सकता है, जिसमें घोषणात्मक रूटिंग, वर्कस्पेस माउंट्स, और होस्ट-मध्यस्थ गेस्ट-से-गेस्ट लिंकिंग शामिल है, सभी TOML मैनिफेस्ट द्वारा संचालित। ## त्वरित शुरुआत एक गेस्ट बनाएं और इसे एक उदाहरण होस्ट रनटाइम के साथ चलाएं: ```bash cargo build --example http-wasm --target wasm32-wasip2 RUST_LOG=info cargo run --example http -- run ./target/wasm32-wasip2/debug/examples/http_wasm.wasm ``` एक होस्ट रनटाइम एक एकल मैक्रो इनवोकेशन है — प्रत्येक प्रविष्टि एक WASI इंटरफेस को उस बैकएंड के साथ जोड़ती है जो इसे लागू करता है: ```rust,ignore use omnia_wasi_http::{HttpDefault, WasiHttp}; use omnia_wasi_keyvalue::{KeyValueDefault, WasiKeyValue}; use omnia_wasi_otel::{OtelDefault, WasiOtel}; omnia::runtime!({ hosts: { WasiHttp: HttpDefault, WasiOtel: OtelDefault, WasiKeyValue: KeyValueDefault, } }); ``` ## दस्तावेज़ीकरण **[दस्तावेज़ीकरण सूचकांक से शुरू करें](docs/README.md)** — पहले रन से पूर्ण डिप्लॉयमेंट तक एक क्रमिक पथ: - [आरंभ करना](docs/getting-started.md) — पहला बिल्ड और रन, ~10 मिनट - हाउ-टू गाइड — [गेस्ट लिखना](docs/guides/writing-guests.md), [रनटाइम संयोजन](docs/guides/composing-a-runtime.md), [मल्टी-गेस्ट डिप्लॉयमेंट](docs/guides/multi-guest-deployments.md), क्षमता गहन अध्ययन ([SQL](docs/guides/sql.md), [दस्तावेज़](docs/guides/document-store.md), [मैसेजिंग](docs/guides/messaging.md), [मॉडल/MCP](docs/guides/model-completions.md)), [प्रोडक्शन बैकएंड](docs/guides/production-backends.md), [डिप्लॉयमेंट](docs/guides/deployment.md), [ट्यूनिंग](docs/guides/performance-tuning.md) - [आर्किटेक्चर](docs/Architecture.md), [सुरक्षा मॉडल](docs/security-model.md), और [शब्दावली](docs/glossary.md) - संदर्भ — [WASI इंटरफेस](docs/reference/wasi-interfaces.md), [मॉडल इंटरफेस](docs/reference/model.md), [CLI](docs/reference/cli.md), [कॉन्फ़िगरेशन](docs/reference/configuration.md) - [समस्या निवारण](docs/troubleshooting.md) [`examples/`](examples/README.md) निर्देशिका में प्रत्येक इंटरफेस के लिए एक पूर्ण कार्यशील गेस्ट + रनटाइम जोड़ी शामिल है। ## क्रेट्स | क्रेट | विवरण | | ----------------------------------------------- | ------------------------------------------------------------------------------------------ | | [`omnia`](crates/omnia) | संरचना रूट — असेंबली, जीवनचक्र, वैकल्पिक-क्रेट संरचना, और `runtime!` | | [`omnia-core`](crates/omnia-core) | लाइव-रनटाइम SDK — wasmtime इंजन, रजिस्ट्री, डिस्पैच, स्टोर, और टेलीमेट्री | | [`omnia-plugin`](crates/omnia-plugin) | `omnia:plugins/loader` क्षमता — लोडर होस्ट, अधिग्रहण नीतियां, और प्लगइन स्टोर; omnia की `plugin` सुविधा द्वारा चयनित | | [`omnia-cli`](crates/omnia-cli) | लीफ `run` व्याकरण — clap प्लस argv-प्राथमिकता; omnia की `cli` सुविधा द्वारा चयनित | | [`omnia-sdk`](crates/omnia-sdk) | गेस्ट SDK — `Handler`/`Client`/`Context`, HTTP/मैसेजिंग राउटर और कमांड फेसाडे, त्रुटियां, क्षमताएं, और MCP समर्थन | | [`omnia-guest-macros`](crates/guest-macros) | गेस्ट के लिए `#[instrument]` ऑब्जर्वेबिलिटी विशेषता | | [`omnia-host-macros`](crates/host-macros) | होस्ट रनटाइम जनरेशन के लिए `runtime!` proc-macro | | [`omnia-wasi-blobstore`](crates/wasi-blobstore) | wasi:blobstore होस्ट और गेस्ट बाइंडिंग | | [`omnia-wasi-config`](crates/wasi-config) | wasi:config होस्ट और गेस्ट बाइंडिंग | | [`omnia-wasi-docstore`](crates/wasi-docstore) | दस्तावेज़-स्टोर होस्ट और गेस्ट बाइंडिंग | | [`omnia-wasi-http`](crates/wasi-http) | wasi:http होस्ट और गेस्ट बाइंडिंग | | [`omnia-wasi-identity`](crates/wasi-identity) | पहचान/OAuth होस्ट और गेस्ट बाइंडिंग | | [`omnia-wasi-keyvalue`](crates/wasi-keyvalue) | wasi:keyvalue होस्ट और गेस्ट बाइंडिंग | | [`omnia-wasi-messaging`](crates/wasi-messaging) | मैसेजिंग होस्ट और गेस्ट बाइंडिंग | | [`omnia-wasi-model`](crates/wasi-model) | omnia:model कम्प्लीशन होस्ट और गेस्ट बाइंडिंग | | [`omnia-wasi-otel`](crates/wasi-otel) | OpenTelemetry होस्ट और गेस्ट बाइंडिंग | | [`omnia-wasi-sql`](crates/wasi-sql) | wasi:sql होस्ट और गेस्ट बाइंडिंग | | [`omnia-wasi-vault`](crates/wasi-vault) | सीक्रेट्स-वॉल्ट होस्ट और गेस्ट बाइंडिंग | | [`omnia-wasi-websocket`](crates/wasi-websocket) | WebSocket होस्ट और गेस्ट बाइंडिंग | ## लाइसेंस MIT OR Apache-2.0