পারমিশন মোড APX-এ থাকে, APC-তে নয়

APC হলো পোর্টেবল কনটেক্সট লেয়ার (portable context layer)। APX হলো রানটাইম এবং টুলিং লেয়ার (runtime and tooling layer)। নিরাপত্তার জন্য এই পার্থক্যটি অত্যন্ত গুরুত্বপূর্ণ।

পারমিশনগুলো প্রজেক্টের সত্যতা নয়। এগুলো হলো মেশিনের পলিসি।

একটি রিপোজিটরি কোনো বাধা ছাড়াই ল্যাপটপ এবং ডেস্কটপের মধ্যে যাতায়াত করতে সক্ষম হতে হবে। একটি পারমিশন সেটিংস প্রতিটি মেশিনে একই ধরনের ঝুঁকির মাত্রা চাপিয়ে দেওয়া উচিত নয়। আপনি যদি পারমিশন স্টেট APC-তে রাখেন, তবে আপনি লোকাল ট্রাস্ট (local trust) এবং শেয়ার্ড কনটেক্সটকে (shared context) মিশ্রিত করে ফেলবেন।

APX সীমানাটি স্পষ্ট রাখে। পারমিশন মোড আপনার লোকাল কনফিগারেশনে থাকে, রিপোজিটরিতে নয়।

উপলব্ধ মোডগুলো হলো:

  • total: কোনো কনফার্মেশন ছাড়াই প্রতিটি টুল চালান।
  • automatico: নিরাপদ রিড (read) এবং শেল (shell) কাজ করার অনুমতি দিন। ধ্বংসাত্মক বা আউটবাউন্ড অ্যাকশনের ক্ষেত্রে কনফার্মেশন চান।
  • permiso: শুধুমাত্র অনুমোদিত টুলগুলো সরাসরি চালান। অন্য সবকিছুর জন্য কনফার্মেশন প্রয়োজন।

Automatico হলো ডিফল্ট। এটি দৈনন্দিন কাজের জন্য রানটাইমকে ব্যবহারযোগ্য রাখে।

APC প্রজেক্ট মেটাডেটা, এজেন্ট এবং স্কিলগুলো পরিচালনা করে। এই কন্টেন্টগুলো বিভিন্ন টুলের মধ্যে স্থিতিশীল থাকে এবং git-এ ভালোভাবে কাজ করে।

পারমিশন মোড রানটাইম ফ্যাক্টস (runtime facts)-এর ওপর নির্ভর করে:

  • মেশিনটি কার।
  • মেশিনটি ব্যক্তিগত নাকি শেয়ার্ড।
  • কাজটি কি এক্সপ্লোরেটরি (exploratory) নাকি উচ্চ ঝুঁকিপূর্ণ।
  • আজ আপনি রানটাইমকে কতটা বিশ্বাস দিচ্ছেন।

আপনি যদি পারমিশনগুলোকে APC-তে নিয়ে যান, তবে আপনি দুটি সমস্যার সৃষ্টি করবেন। আপনি এমন একটি পলিসি উত্তরাধিকারসূত্রে পাবেন যা নতুন মেশিনের সাথে নাও মিলতে পারে। আপনি একটি লোকাল নিরাপত্তার পছন্দকেও শেয়ার্ড প্রজেক্টের বোঝা (baggage) হিসেবে পরিণত করবেন।

রিপোজিটরি কাজটি বর্ণনা করে। APX সিদ্ধান্ত নেয় লোকাল রানটাইমের কতটুকু ক্ষমতা থাকবে।

APX কোডের মাধ্যমে এটি প্রয়োগ করে। createPermissionGuard ফাংশনটি আপনার গ্লোবাল কনফিগারেশন পড়ে এবং টুল কলগুলো ব্লক বা অ্যালাউ করে।

এই কাঠামোটি আপনার কাজের পদ্ধতির সাথে সামঞ্জস্যপূর্ণ। একটি ফাইল পড়া এবং একটি রিপোজিটরি পরিবর্তন করা এক নয়। একটি নিরাপদ লুকআপ (lookup) এবং একটি MCP কানেকশন এক নয়।

আপনি বিভিন্ন APX পলিসি সহ একই APC প্রজেক্ট ব্যবহার করতে পারেন। আপনার ল্যাপটপে automatico ব্যবহার করুন। একটি শেয়ার্ড ওয়ার্কস্টেশনে permiso ব্যবহার করুন।

একটি সেটিংস কোথায় থাকা উচিত তা নির্ধারণ করতে এই পরীক্ষাটি ব্যবহার করুন:

  • এটি কি "এই প্রজেক্টটি কী?" এর উত্তর দেয়? তাহলে এটি APC-তে রাখুন।
  • এটি কি "এই মেশিনটি এখন কী করতে পারে?" এর উত্তর দেয়? তাহলে এটি APX-এ রাখুন।

পারমিশন মোড APX-এর অন্তর্ভুক্ত। এটি APC-কে পোর্টেবল রাখে এবং আপনার লোকাল রানটাইমকে নির্ভরযোগ্য রাখে।

Source: https://dev.to/agentprojectcontext/permission-mode-lives-in-apx-not-apc-50d6

ঐচ্ছিক লার্নিং কমিউনিটি: https://t.me/GyaanSetuAi