প্রকল্প সম্পর্কে

# Omnia: লাইটওয়েট WebAssembly রানটাইম Omnia হল WebAssembly (WASI) কম্পোনেন্টগুলির জন্য একটি হালকা, নিরাপদ রানটাইম। এটি [wasmtime](https://github.com/bytecodealliance/wasmtime)-এর চারপাশে একটি পাতলা, এরগনোমিক র্যাপার প্রদান করে যাতে HTTP, মেসেজিং, কী-ভ্যালু স্টোর এবং মডেল কমপ্লিশনের মতো হোস্ট-ভিত্তিক পরিষেবাগুলি সহজেই আপনার WASI অ্যাপ্লিকেশনগুলিতে সংহত করা যায়। যদিও এটি স্বতন্ত্রভাবে ব্যবহার করা যেতে পারে, Omnia মূলত **Augentic-এর Agent Skills**-এর রানটাইম হিসেবে ডিজাইন করা হয়েছে। এটি নিশ্চিত করে যে এজেন্ট-জেনারেটেড কোড একটি নিরাপদ, স্যান্ডবক্সড পরিবেশে চলে, পাশাপাশি প্রয়োজনীয় অবকাঠামোতে নিয়ন্ত্রিত অ্যাক্সেস থাকে। ## কেন Omnia? - **ডিফল্টভাবে নিরাপদ**: সমস্ত গেস্ট কোড একটি কঠোর WebAssembly স্যান্ডবক্সে চলে। ক্ষমতাগুলি (নেটওয়ার্ক, ফাইলসিস্টেম, মডেল অ্যাক্সেস) স্পষ্টভাবে মঞ্জুর করা হয়। - **সবকিছু অন্তর্ভুক্ত**: সাধারণ WASI ইন্টারফেসগুলির জন্য অন্তর্নির্মিত সমর্থন — HTTP, কী-ভ্যালু, মেসেজিং, 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) — প্রথম বিল্ড এবং রান, ~১০ মিনিট - হাউ-টু গাইড — [গেস্ট লেখা](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!` প্রোক-ম্যাক্রো | | [`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