আপনার যে ফাইলগুলো পরীক্ষা করার অনুমতি আছে, সেগুলো থেকে REA স্থানীয় JavaScript বা Electron অ্যাপের মানচিত্র তৈরি করতে পারে—সোর্স ট্রি না থাকলেও। একটি আচরণের প্রমাণ-শৃঙ্খলই এর কার্যকর ফল: কোন মডিউল সেটি প্রকাশ করে, কলটি কোথায় প্রসেসের সীমানা অতিক্রম করে এবং কোন অংশগুলো আলাদাভাবে যাচাই করা দরকার। এই নির্দেশিকায় REA প্রকল্পের বর্তমান নথি ব্যবহার করা হয়েছে, যা ১৪ অক্টোবর ২০২৬-এ পরীক্ষা করা হয়েছিল। BIG CHANGE কোনো অ্যাপে REA চালায়নি।
বড় পরিবর্তন
- কী বদলেছে: সরবরাহ করা অ্যাপ ডিরেক্টরি বা ASAR থেকে REA একটি কোডিং এজেন্টকে মডিউল, ইমপোর্ট, সোর্স ম্যাপ, রুট এবং Electron IPC-এর কাঠামোবদ্ধ মানচিত্র দেয়। প্রতিটি ফলাফল তার উৎস ফাইলের দিকে নির্দেশ করতে পারে।
- কেন গুরুত্বপূর্ণ: একটি ফিচার খতিয়ে দেখা ডেভেলপার হাতে কী পরীক্ষা করবেন তা ঠিক করার আগে প্যাকেজ করা অ্যাপের মধ্যে নামযুক্ত API বা IPC চ্যানেল অনুসরণ করতে পারেন। এতে প্রশ্নটি নির্দিষ্ট হয় এবং প্রমাণ যাচাই করা সহজ হয়।
- যা খেয়াল রাখবেন: স্থির কোড-পথ সম্ভাব্য পথ মাত্র; ব্যবহারের সময় অ্যাপটি সেই পথেই চলে—এটি তার প্রমাণ নয়। নির্দিষ্ট আচরণের দাবি যাচাই করতে অনুমোদিত লক্ষ্যটিতে স্বাধীন পর্যবেক্ষণ বা পরীক্ষা দরকার।
শুরু করার আগে
এই নির্দেশিকা এমন ডেভেলপারের জন্য, যিনি স্থানীয় JavaScript বা Electron অ্যাপের মালিক অথবা সেটি পরীক্ষা করার অনুমতি পেয়েছেন। আপনার দরকার নিষ্কাশিত অ্যাপ ডিরেক্টরি বা তার app.asar ফাইল এবং তার পূর্ণ পাথ। REA-এর প্যাকেজ ম্যানিফেস্টে তালিকাভুক্ত করে rea-agents সংস্করণ 6.4.0 এবং Node.js-এর শর্ত দেওয়া আছে: 22.x লাইনে 22.19 বা নতুন, 24.x লাইনে 24.11 বা নতুন, অথবা 26 ও পরবর্তী সংস্করণ। npm-ও লাগবে। Linux-এ REA-এর স্থির JavaScript/Electron বিশ্লেষণে procps-সামঞ্জস্যপূর্ণ ps প্রয়োজন, REA-এর PATH প্রসেস-মালিকানা যাচাইয়ের জন্য—যেমন তার ইনস্টলেশন নির্দেশিকা ব্যাখ্যা করে। এগুলো REA চালানোর হোস্টের শর্ত; লক্ষ্য অ্যাপ চালানোর শর্ত থেকে আলাদা।
স্থির JavaScript কর্মপ্রবাহে Hopper, Ghidra, IDA, ব্রাউজার বা চলমান Electron প্রসেস লাগে না। সেগুলো REA-এর অন্য কর্মপ্রবাহের সরঞ্জাম। লক্ষ্যটি পরীক্ষা করার অধিকার আছে কি না যাচাই করুন এবং মূল ফাইলের একটি কপি রাখুন, যাতে কোন আর্টিফ্যাক্ট থেকে ফল এসেছে তা নির্দিষ্টভাবে বোঝা যায়। ইনস্টল করতে অফিসিয়াল morluto/rea রিপোজিটরি বা তার সঙ্গে যুক্ত npm প্যাকেজ ব্যবহার করুন; কাছাকাছি নামের রিপোজিটরি উৎসের প্রমাণ নয়।
১. REA সেট আপ করুন অথবা একবারের CLI ব্যবহার করুন
সংযুক্ত কোডিং এজেন্টের জন্য নথিভুক্ত সেটআপ কমান্ড হলো:
npx rea-agents setupএজেন্ট কনফিগারেশনে প্রস্তাবিত পরিবর্তনগুলো পর্যালোচনা করুন, যেগুলো চান সেগুলো অনুমোদন করে এজেন্ট আবার চালু করুন। শুধু টার্মিনালে পরীক্ষা করতে হলে নিচের নথিভুক্ত কমান্ড ওই রানটির জন্য প্যাকেজ চালায়। @latest চালানোর সময়কার বর্তমান রিলিজ বেছে নেয়; আউটপুটের বিবরণ বদলাতে পারে বলে প্রমাণের সঙ্গে নির্ধারিত সংস্করণটিও লিখে রাখুন। উপরের 6.4.0 হলো ১৪ অক্টোবরের এই নিবন্ধ-পরীক্ষায় প্রকল্প ম্যানিফেস্টে দেখা সংস্করণ।
২. দেওয়া ফাইল বিশ্লেষণ করুন
উদাহরণ পাথের বদলে অনুমোদিত অ্যাপ ফোল্ডার বা ASAR-এর সম্পূর্ণ পাথ দিন:
npx -y rea-agents@latest analyze-javascript-application /absolute/path/to/app --json > app-evidence.jsonCLI গাইড সতর্ক করে যে পূর্ণ Evidence অনেক বড় হতে পারে। ফাইলে সংরক্ষণ করে সারাংশ বা নির্বাচিত মডিউলের দৃশ্য পড়ুন। পুরো ফল প্রম্পটে পেস্ট করবেন না। কমান্ড ব্যর্থ হলে নির্ণয়ের জন্য ত্রুটি ও লক্ষ্য-পাথ রেখে দিন; প্রস্থান-অবস্থা শূন্য হলেও কভারেজ আংশিক, সতর্কতা বা অমীমাংসিত ফল থাকতে পারে। Windows-এর জন্য README-তে এমন পাথের উদাহরণ আছে: "D:/apps/example".
আর্টিফ্যাক্ট পুনর্গঠন রেফারেন্স বলে, এই কাজ অ্যাপ চালানো ছাড়াই নির্বাচিত ফাইলকে ডেটা হিসেবে পড়ে। এটি আর্টিফ্যাক্টের পাথ ও ডাইজেস্টের তালিকা করে, উপলভ্য JavaScript ও TypeScript বিশ্লেষণ করে এবং সম্ভাব্য এন্ট্রিপয়েন্ট, ইমপোর্ট, সোর্স ম্যাপ, রুট, নেটওয়ার্ক এন্ডপয়েন্ট, Electron preload ও renderer সংযোগ, contextBridge API, IPC কল ও হ্যান্ডলার এবং নেটিভ অ্যাড-অন অনুরোধ জানায়। প্রত্যাশিত ফল হলো গ্রাফ, স্থির Electron সারাংশ, কভারেজ ও সীমাবদ্ধতাসহ একটি Evidence রেকর্ড। রিপোর্ট করা .node বাইন্ডিং হলো পরীক্ষা করার মতো সম্পর্ক; এটি ওই নেটিভ মডিউল ডিকোড করে না।
৩. একটি নির্দিষ্ট ফিচার অনুসরণ করুন
নাম দিয়ে খুঁজে পাওয়া যায় এমন ফিচার বেছে নিন, যেমন মেনু অ্যাকশন বা প্রকাশিত API পদ্ধতি। ব্যবহারকারীর কাছে দৃশ্যমান নামটি লিখে REA ফলাফলে সংশ্লিষ্ট মডিউল, আক্ষরিক IPC চ্যানেল বা রুট খুঁজুন। জানানো সোর্স অবস্থান ক্রমানুসারে অনুসরণ করুন: renderer বা পেজ কল, preload ব্রিজ, IPC সংক্রমণ, মিলে যাওয়া প্রধান-প্রসেস হ্যান্ডলার, তারপর হ্যান্ডলার যে ফাইল বা পরিষেবা-অপারেশন ডাকে। REA-এর Electron CSV উদাহরণ এই ধরনটি দেখায় notes.exportCsv(), notes:export চ্যানেল এবং প্রধান-প্রসেস লেখক। এগুলো নমুনা অ্যাপের নাম; আপনার লক্ষ্যে আলাদা নাম থাকবে।
প্রতিটি সংযোগের জন্য আর্টিফ্যাক্ট ডাইজেস্ট, ফাইল-পাথ ও অবস্থান এবং কোডে আসলে কী দেখা যায় তা লিখুন। একটি হ্যান্ডলারের সঙ্গে আক্ষরিক চ্যানেলের জোড়া এবং গণনা করা চ্যানেল বা অস্পষ্ট জোড়া আলাদা করে দেখুন। কোনো মডিউল বা হ্যান্ডলার নেই ধরে নেওয়ার আগে কভারেজ ও সীমাবদ্ধতার ঘরগুলো পরীক্ষা করুন। REA বলেছে, ক্ষতিগ্রস্ত বা অনুপলভ্য ফাইল, ASAR-এর সহায়ক বাইট না থাকা, অমীমাংসিত এক্সপ্রেশন এবং সীমিত বিশ্লেষণে সম্পর্ক অজানা থেকে যেতে পারে। সোর্স ম্যাপ মূল সোর্সের নাম প্রকাশ করতে পারে, কিন্তু টুলটি মূল সোর্স ট্রি দেওয়ার নিশ্চয়তা দেয় না।
৪. আচরণটি স্বাধীনভাবে যাচাই করুন
স্থির ট্রেস থেকে এমন একটি দাবি লিখুন যা ভুল প্রমাণ করা যায়, যেমন: “এই কাজটি এই চ্যানেল ডাকে এবং হ্যান্ডলার এই ধরনের ফাইল লেখে।” এরপর অনুমোদিত পরীক্ষার পরিবেশে শুধু সেই কাজটি করুন এবং ফল সরাসরি দেখুন: তৈরি হওয়া ফাইল, বদলে যাওয়া অবস্থা বা আপনার অনুমতির মধ্যে সংগ্রহ করা ট্রেস। অ্যাপের সংস্করণ, আর্টিফ্যাক্ট ডাইজেস্ট, পরীক্ষার ধাপ ও পর্যবেক্ষিত ফল লিখুন। অ্যাপ চালানোর অনুমতি না থাকলে দাবিটি স্থির কোড-পথেই সীমিত রাখুন। REA-এর উদাহরণ স্পষ্টভাবে বলে, অনুমিত পথটি রানটাইম ক্যাপচারে যাচাই করা যায়; স্থির গ্রাফ একা কোন শাখা চলেছে তা দেখায় না।
অন্য ডেভেলপার একই সোর্স অবস্থান খুঁজে পেলে, স্থির জোড়ার সীমা বুঝলে এবং আপনার সীমিত পরীক্ষা পুনরাবৃত্তি করতে পারলে কাজটি সফল। শুধু বিশ্লেষণ কমান্ড সফল হওয়া রানটাইম আচরণ যাচাই করে না বা অ্যাপের বিশ্বস্ত পুনর্নির্মাণ প্রমাণ করে না।
ফল অসম্পূর্ণ হলে
প্রথমে দেখুন পাথটি সম্পূর্ণ নিষ্কাশিত ডিরেক্টরি বা ASAR-এ যায় কি না এবং দরকারি .asar.unpacked সহায়ক ফাইল আছে কি না। REA-এর কভারেজ ও ডায়াগনস্টিক দেখুন; অনুপস্থিত বা ব্যর্থ সোর্স অজানা অবস্থা, নেতিবাচক ফল নয়। বড় অ্যাপের জন্য রেফারেন্স নথিতে নির্দিষ্ট --source-path ফাইল নির্বাচনের কথা বলা আছে, তবে অনির্বাচিত ফাইল বিশ্লেষণের সীমার বাইরে থাকবে। আক্ষরিক IPC মিল অস্পষ্ট হলে বা চ্যানেল গণনা করে তৈরি হলে উদ্ধৃত ফাইল দেখুন এবং প্রশ্নটি সীমিত করুন। অস্পষ্টতা থাকলে শেষ নোটে তা উল্লেখ করুন।
REA-এর কোড MIT লাইসেন্সের, কিন্তু লক্ষ্য সফটওয়্যার ও বাইরের বিশ্লেষণ ইঞ্জিনের নিজস্ব লাইসেন্স ও শর্ত আছে। স্থির বিশ্লেষণে লক্ষ্য ফাইল স্থানীয়ভাবে প্রক্রিয়াকৃত হয়। REA-এর ফল কোডিং এজেন্টকে দিলে মডেল সরবরাহকারীর ডেটা নীতি প্রযোজ্য হবে; প্রতিষ্ঠানের অনুমোদন না নিয়ে গোপন তথ্য বা মালিকানাধীন ফল পাঠাবেন না। ব্যবহারের আগে এজেন্ট ও ঐচ্ছিক ইঞ্জিনের শর্ত এবং খরচ দেখুন। পদ্ধতি ও প্যাকেজ সংস্করণ পরীক্ষা করা হয়েছে ১৪ অক্টোবর ২০২৬-এ; তথ্য নথিভিত্তিক।



