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

iii হল একটি ব্যাকএন্ড কম্পোজিশন এবং পর্যবেক্ষণ প্ল্যাটফর্ম যা একাধিক ইন্টিগ্রেশন উদ্বেগ—কিউ, ক্রন, HTTP এন্ডপয়েন্ট, স্টেট ম্যানেজমেন্ট, পর্যবেক্ষণযোগ্যতা, এজেন্ট এবং স্যান্ডবক্স—একটি একীভূত রানটাইম সারফেসে সংহত করে। মূল মানসিক মডেলটি তিনটি প্রিমিটিভ নিয়ে গঠিত: - **Workers**: iii ইঞ্জিনে রেজিস্টার হওয়া প্রক্রিয়াগুলি। একটি TypeScript API সার্ভিস, একটি Python ডেটা পাইপলাইন, অথবা একটি Rust মাইক্রোসার্ভিস সবই ওয়ার্কার হতে পারে। ওয়ার্কারগুলো রানটাইমে যোগ করা যায়, যা এজেন্ট এবং অ্যাপ্লিকেশনগুলোকে সিস্টেমটি চলমান অবস্থায় সম্প্রসারিত করতে দেয়। - **Functions**: স্থিতিশীল আইডেন্টিফায়ারসহ কাজের ইউনিট (যেমন `content::classify`, `orders::validate`) যা ইনপুট গ্রহণ করে, কাজ সম্পাদন করে, এবং ঐচ্ছিকভাবে আউটপুট রিটার্ন করে। - **Triggers**: ফাংশন এক্সিকিউশনের ঘোষণামূলক কারণ, যেমন সরাসরি কল, HTTP এন্ডপয়েন্ট, ক্রন শিডিউল, কিউ সাবস্ক্রিপশন, স্টেট পরিবর্তন, এবং স্ট্রিম ইভেন্ট। ওয়ার্কার ট্রিগার শর্ত নির্ধারণ করে এবং iii রাউটিং, সিরিয়ালাইজেশন এবং ডেলিভারি পরিচালনা করে। ডেভেলপাররা `worker-compose.yaml` ফাইলে ওয়ার্কারগুলো ঘোষণা করে এবং `iii compose --up` কমান্ড দিয়ে সেগুলো চালু করে। ওয়ার্কারগুলো একটি লাইভ ক্যাটালগে যোগ দেয় যেখানে প্রতিটি অন্য ওয়ার্কারকে নোটিফাই করা হয় এবং তারা তাৎক্ষণিকভাবে কল করতে পারে। একই ইন্টারফেস AI এজেন্টদের জন্যও উপলব্ধ: যখন কোনো টাস্কের জন্য সিস্টেমে প্রয়োজনীয় ক্ষমতা না থাকে, তখন একটি এজেন্ট ওয়ার্কার যোগ করতে পারে, তার ফাংশনগুলো আবিষ্কার করতে পারে, সেগুলো কল করতে পারে এবং ফলাফল ট্রেস করতে পারে। প্রজেক্টটি Node.js, Python, Rust, এবং Go এর জন্য SDK প্রদান করে। এতে একটি ডেভেলপার কনসোল (React + Rust) রয়েছে যা ওয়ার্কার, ফাংশন, ট্রিগার, কিউ, ট্রেস, লগ এবং রিয়েল-টাইম স্টেট পরিদর্শন করতে পারে। এজেন্ট-সুলভ রেফারেন্স মেটেরিয়াল ("skills") প্রতিটি iii প্রিমিটিভকে কভার করে এবং একটি npx কমান্ডের মাধ্যমে ইনস্টল করা যায়। রিপোজিটরিটি একটি মনোরেপো হিসেবে গঠিত: ইঞ্জিনের কোর Rust-এ লেখা (Elastic License 2.0 এর অধীনে লাইসেন্সকৃত), আর SDK, কনসোল, ডকুমেন্টেশন এবং ওয়েবসাইট Apache License 2.0 এর অধীনে লাইসেন্সকৃত। Docker ইমেজগুলো শেল স্ক্রিপ্টের মাধ্যমে CLI ইনস্টলেশনের পাশাপাশি প্রকাশিত হয়।