{"_id":"@vercel/detect-agent","_rev":"33-e2c52673d16c8a8bee745801ecdfc2f2","name":"@vercel/detect-agent","dist-tags":{"canary":"1.2.3","latest":"1.2.5"},"versions":{"0.1.0":{"name":"@vercel/detect-agent","version":"0.1.0","license":"Apache-2.0","_id":"@vercel/detect-agent@0.1.0","maintainers":[{"name":"sebastianroming","email":"sebastian.roming@gmail.com"},{"name":"jasonwiker","email":"jason.wiker@gmail.com"},{"name":"craigandrews","email":"craigeandrews@gmail.com"},{"name":"gkaragkiaouris","email":"gkaragkiaouris2@gmail.com"},{"name":"dglsparsons","email":"dglsparsons@gmail.com"},{"name":"bvred4244","email":"becky.vredenburg@vercel.com"},{"name":"dummdidumm","email":"sholthausen@web.de"},{"name":"adriancooney_vercel","email":"adrian.cooney@vercel.com"},{"name":"henryheffernan","email":"henry.heffernan@vercel.com"},{"name":"bcorn-cely","email":"brandon.corn@vercel.com"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"casey.gowrie","email":"casey.gowrie@vercel.com"},{"name":"balazs4","email":"balazs4web@gmail.com"},{"name":"amyegan","email":"amysutter1015@gmail.com"},{"name":"falcoagustin","email":"agustinfalco.11@gmail.com"},{"name":"brookemosby","email":"brooke.mosby@vercel.com"},{"name":"feugy","email":"damien.feugas@gmail.com"},{"name":"swarnavasengupta","email":"swarnavasengupta@gmail.com"},{"name":"raunofreiberg","email":"freiberggg@gmail.com"},{"name":"mamuso","email":"mamuso@mamuso.net"},{"name":"goncy","email":"gonzalo.pozzo4@gmail.com"},{"name":"smaeda-ks","email":"jrsyo0905@gmail.com"},{"name":"gargis5","email":"gs051095@gmail.com"},{"name":"chibicode","email":"shu.chibicode@gmail.com"},{"name":"andybitz","email":"artzbitz@gmail.com"},{"name":"iamevilrabbit","email":"hello@evilrabb.it"},{"name":"tootallnate","email":"nathan@tootallnate.net"},{"name":"styfle","email":"steven@ceriously.com"},{"name":"matthewbinshtok","email":"matthew.binshtok@gmail.com"},{"name":"mglagola","email":"npm@mark.gl"},{"name":"javivelasco","email":"javier.velasco86@gmail.com"},{"name":"luimey","email":"luis_meyer@outlook.de"},{"name":"timer","email":"timer150@gmail.com"},{"name":"lucleray","email":"luc.leray@gmail.com"},{"name":"matheuss","email":"matheus.frndes@gmail.com"},{"name":"anatrajkovska","email":"ana.trajkovska2015@gmail.com"},{"name":"jooliashi","email":"julia.shi@nyu.edu"},{"name":"timneutkens","email":"timneutkens@icloud.com"},{"name":"elsigh","email":"lsimon@commoner.com"},{"name":"wits","email":"witspr@gmail.com"},{"name":"lpalmes","email":"lpalmes@gmail.com"},{"name":"cl3arglass","email":"haltaffer@gmail.com"},{"name":"samsisle","email":"samko9522@gmail.com"},{"name":"chriswdmr","email":"github.wolle404@gmail.com"},{"name":"rizbizkits","email":"rizwana.akmal@hotmail.com"},{"name":"ismaelrumzan","email":"ismaelrumzan@gmail.com"},{"name":"creationix","email":"tim@creationix.com"},{"name":"feedthejim","email":"laijimmy0@gmail.com"},{"name":"rauchg","email":"rauchg@gmail.com"},{"name":"huozhi","email":"inbox@huozhi.im"},{"name":"aldosch","email":"aldo.schumann@vercel.com"},{"name":"lfades","email":"luisito453@gmail.com"},{"name":"paulogdm","email":"paulogdemitri@gmail.com"},{"name":"okbel","email":"curciobel@gmail.com"},{"name":"hedyzandi","email":"hedy.zandi@gmail.com"},{"name":"padmaia","email":"dev@padmaia.rocks"},{"name":"msweeneydev","email":"mail@mcs.dev"},{"name":"delba","email":"delbabrown@gmail.com"},{"name":"sokra","email":"tobias.koppers@googlemail.com"},{"name":"gsandhu","email":"gsandhu@csumb.edu"},{"name":"dbredvick","email":"dbredvick@gmail.com"},{"name":"hungrybearstudio","email":"rich@vercel.com"},{"name":"calebboyd","email":"caleb.boyd@hotmail.com"},{"name":"hellojennifertran","email":"hellojennifertran@gmail.com"},{"name":"marcgreenstock","email":"marc@marcgreenstock.com"},{"name":"kikobeats","email":"josefrancisco.verdu@gmail.com"},{"name":"agadzik","email":"andrew.gadzik@vercel.com"},{"name":"tknickman","email":"tknickman@gmail.com"},{"name":"janory","email":"szathmary.janos89@gmail.com"},{"name":"jeffreyarneson","email":"jeffrey@vercel.com"},{"name":"mattjared","email":"mattjared9@gmail.com"},{"name":"msimulcik","email":"simulcik.miro@gmail.com"},{"name":"gdborton","email":"gdborton@gmail.com"},{"name":"correttojs","email":"fabio.benedetti@gmail.com"},{"name":"cramforce","email":"malte.ubl@gmail.com"},{"name":"kakadiadarpan","email":"kakadiadarpan@gmail.com"},{"name":"maxleiter","email":"maxwell.leiter@gmail.com"},{"name":"kit-foster","email":"katya.a.foster@gmail.com"},{"name":"tilly3g","email":"tilly.gee@vercel.com"},{"name":"timeyoutakeit","email":"amy.burns87@gmail.com"},{"name":"ecklf","email":"ecklf@icloud.com"},{"name":"healeycodes","email":"healeycodes@gmail.com"},{"name":"dferber90","email":"dominik.ferber@gmail.com"},{"name":"epallerols","email":"epallerols@vercel.com"},{"name":"nicolas-webdev","email":"nicobsas@gmail.com"},{"name":"schlez","email":"gal@spitfire.co.il"},{"name":"npm_bot_vercel_support","email":"it+npmvercelsupport@vercel.com"},{"name":"pieparker","email":"spamspamspampls@yahoo.co.uk"},{"name":"jtaylor0196","email":"jourdandiskin@gmail.com"},{"name":"javierbyte","email":"hi@javier.xyz"},{"name":"emeraldsanto","email":"yanick.belanger@yahoo.com"},{"name":"gaspar09","email":"gaspar.garcia09@gmail.com"},{"name":"sr_intern","email":"mooradsudais@gmail.com"},{"name":"sebmarkbage","email":"sebastian@calyptus.eu"},{"name":"gudmundur","email":"gudmundur.bjarni@gmail.com"},{"name":"nick.tracey","email":"nick.tracey@vercel.com"},{"name":"codyogden","email":"cody@codyogden.com"},{"name":"bmealey","email":"blakemealey@gmail.com"},{"name":"chris-olszewski","email":"chrisdolszewski@gmail.com"},{"name":"doque","email":"dombusser@gmail.com"},{"name":"drcmda","email":"drcmda@gmail.com"},{"name":"aaorris","email":"aaorris@gmail.com"},{"name":"nuta","email":"email@seiya.me"},{"name":"daniel.campbell","email":"daniel.campbell@vercel.com"},{"name":"quiibz","email":"quiibzdev@gmail.com"},{"name":"chloe.tedder","email":"chloectedder@gmail.com"},{"name":"mjakobis","email":"marta.hawkins@gmail.com"},{"name":"mehulkar","email":"mehul.kar@fastmail.com"},{"name":"aaronbrown-vercel","email":"aaron.brown@vercel.com"},{"name":"tcc-sejohnson","email":"permanently.gruntled@gmail.com"},{"name":"filiphasson","email":"hasson.filip@gmail.com"},{"name":"lubakravche","email":"luba.kravchenko@vercel.com"},{"name":"gnoff","email":"jcs.gnoff@gmail.com"},{"name":"matt.straka","email":"matt.j.straka@gmail.com"},{"name":"wbinnssmith","email":"wbinnssmith@gmail.com"},{"name":"ofhouse","email":"felixhaus@gmail.com"},{"name":"mknichel-vercel","email":"mark.knichel@vercel.com"},{"name":"vvo","email":"vincent@codeagain.com"},{"name":"vercel-release-bot","email":"infra+release@vercel.com"},{"name":"rob-peters-vercel","email":"rob.peters@vercel.com"},{"name":"gt-codes","email":"garrett1.tolbert@gmail.com"},{"name":"balazsorban","email":"info@balazsorban.com"},{"name":"tobiaslins","email":"me@tobi.sh"},{"name":"tiago-loureiro","email":"tiago.loureiro@gmail.com"},{"name":"wyattjoh","email":"me@wyattjoh.ca"},{"name":"mbrakken","email":"marc.brakken@gmail.com"},{"name":"timolins","email":"me@timo.sh"},{"name":"anthonyshew","email":"anthony@shew.dev"},{"name":"cmeyer_vercel","email":"chris.meyer@vercel.com"},{"name":"tbremer","email":"tom@tbremer.com"},{"name":"miguelalcalde","email":"miguel.alcalde@vercel.com"},{"name":"laugharn","email":"laugharn@gmail.com"},{"name":"christianpickett-vercel","email":"christian.pickett@vercel.com"},{"name":"robin-vercel","email":"robin.yoong@vercel.com"},{"name":"ah100101","email":"alex.hawley@vercel.com"},{"name":"quietshu","email":"g@shud.in"},{"name":"ijjk","email":"jj@jjsweb.site"},{"name":"vercelben","email":"ben@vercel.com"},{"name":"zharich","email":"rzhang@live.com.au"},{"name":"hud-code","email":"zach.hudson@vercel.com"},{"name":"oh-my-volk","email":"volking0@gmail.com"},{"name":"dfein","email":"dan.fein@vercel.com"},{"name":"onsclom","email":"austinmerrick@onsclom.net"},{"name":"ashok.gurumurthy","email":"ashok.gurumurthy@vercel.com"},{"name":"owoce","email":"lolzatu2@gmail.com"},{"name":"shaper42","email":"lemurware@gmail.com"},{"name":"ademau","email":"alice.demauro@vercel.com"},{"name":"kropp","email":"justinkropp@gmail.com"},{"name":"jeffsee55","email":"jeffsee.55@gmail.com"},{"name":"zeejab","email":"zahra.arch@gmail.com"},{"name":"acdlite","email":"npm@andrewclark.io"},{"name":"mcabs3","email":"mcabs3@gmail.com"},{"name":"msempere","email":"odoncopon@gmail.com"},{"name":"dmmulroy","email":"dillon.mulroy@gmail.com"},{"name":"kldavis4","email":"kldavis4@gmail.com"},{"name":"lukahartwig","email":"mail@lukahartwig.de"},{"name":"bgw","email":"npm@benjam.info"},{"name":"sipex","email":"dominik.sipowicz@gmail.com"},{"name":"jeremyphilemon","email":"git@jrmyphlmn.com"},{"name":"eprosimon","email":"eprosimon@gmail.com"},{"name":"rithmic","email":"me@rithmic.dev"},{"name":"danmfox","email":"dan.fox@vercel.com"},{"name":"n-vigier","email":"nvigier46@gmail.com"},{"name":"bootstrap314","email":"will.turner@vercel.com"},{"name":"vercelmatt","email":"matt.collier@vercel.com"},{"name":"judegao","email":"judegao@outlook.com"},{"name":"vercel-ctate","email":"chris.tate@vercel.com"},{"name":"albanese","email":"gcalbanese96@gmail.com"},{"name":"sceiler","email":"yimin.yang0@gmail.com"},{"name":"lgrammel","email":"lars.grammel@gmail.com"},{"name":"jamesvclements","email":"jamesvclements@gmail.com"},{"name":"tomocchino","email":"tomocchino@gmail.com"},{"name":"aryamankha","email":"aryaman.khandelwal@gmail.com"},{"name":"pranathip","email":"pranathi.peri@gmail.com"},{"name":"jorgezreik","email":"jfzreik@gmail.com"},{"name":"mattfroggett","email":"matt.froggett@vercel.com"},{"name":"mcocirio","email":"marianococirio@gmail.com"},{"name":"eps1lon","email":"silbermann.sebastian@gmail.com"},{"name":"pbzona","email":"phil.b.zona@gmail.com"},{"name":"malewis5","email":"matt.lewis@vercel.com"},{"name":"jlangeland","email":"jlang@vercel.com"},{"name":"devjiwonchoi","email":"devjiwonchoi@gmail.com"},{"name":"konstv","email":"cppruler@gmail.com"},{"name":"zacktanner","email":"zacktanner@gmail.com"},{"name":"gabenunez","email":"dotpeenge@gmail.com"},{"name":"shadcn","email":"m@shadcn.com"},{"name":"mikecurtis","email":"mikecurtis@gmail.com"},{"name":"sorced-jim","email":"james.morrison@vercel.com"},{"name":"dimitropoulos","email":"dimitrimitropoulos@gmail.com"},{"name":"unstubbable","email":"hendrik@strict.software"},{"name":"omarmung","email":"dkimmel@gmail.com"},{"name":"sueplex","email":"sage.abraham@vercel.com"},{"name":"ethanshea","email":"ethan.shea@vercel.com"},{"name":"idoatvercel","email":"ido.pesok@vercel.com"},{"name":"wentsul","email":"wenzel.michael@gmail.com"},{"name":"vikhyath","email":"vikhyathnitte@gmail.com"},{"name":"jack.lubbs","email":"jack.lubbock@vercel.com"},{"name":"mischnic","email":"niklas.mischkulnig@gmail.com"},{"name":"hgstrm","email":"anders@o53.nl"},{"name":"dcampvc01","email":"dan.campbell@vercel.com"},{"name":"mitul-s","email":"mitulxshah@gmail.com"},{"name":"jonphey","email":"jonphey91@gmail.com"},{"name":"trueadm","email":"dg@domgan.com"},{"name":"annagzh","email":"annagzh@gmail.com"},{"name":"rich_harris","email":"richard.a.harris@gmail.com"},{"name":"andrewbarba","email":"barba@hey.com"},{"name":"bcjroberts","email":"ben.roberts@vercel.com"},{"name":"marc-vercel","email":"marc.codina@vercel.com"},{"name":"ali-vercel","email":"ali.smesseim@vercel.com"},{"name":"duijf","email":"npm@duijf.io"},{"name":"wude935","email":"derek.wu@vercel.com"},{"name":"plmrry","email":"plmrry@gmail.com"},{"name":"kmiddleton14","email":"kmiddleton14@gmail.com"},{"name":"yavor","email":"yavor.punchev@gmail.com"},{"name":"tristantcooper","email":"tristan.cooper@vercel.com"},{"name":"lukesheard","email":"me@lukesheard.com"},{"name":"adrienthebo","email":"adrien@somethingsinistral.net"},{"name":"olivercarmont","email":"olcarmontzaragoza@gmail.com"},{"name":"adamdong","email":"adam.dong@vercel.com"},{"name":"rhyssullivan","email":"rhys.sullivan@answeroverflow.com"},{"name":"bkonkle","email":"brandon@konkle.us"},{"name":"severinlandolt","email":"severin.code@gmail.com"},{"name":"jaygengelbach","email":"jaygengelbach@gmail.com"},{"name":"chriskindl","email":"chris.kindl@vercel.com"},{"name":"andyw22","email":"andy.waller@vercel.com"},{"name":"shagrawal","email":"shagrawal.97@gmail.com"},{"name":"neil-vercel","email":"neil.vishvakarma@vercel.com"},{"name":"skullface","email":"paoli.jessica@gmail.com"},{"name":"fernandorojo","email":"fernando@basement.social"},{"name":"kevin.corbett","email":"kevin.corbett08@gmail.com"},{"name":"zacowan","email":"cz8ch8ry@gmail.com"},{"name":"joelhooks","email":"joelhooks@gmail.com"},{"name":"willviles","email":"willrviles@gmail.com"},{"name":"markandrus","email":"markandrusroberts@gmail.com"},{"name":"loganliffick","email":"hello@loganliffick.com"},{"name":"youngbloodcyb","email":"cameron.youngblood@gmail.com"},{"name":"estelle_wolski","email":"estelle.wolski@vercel.com"},{"name":"kapehe_ok","email":"kapehe.sevilleja@vercel.com"},{"name":"haydenbleasel","email":"hello@haydenbleasel.com"},{"name":"quuu","email":"qual1337@gmail.com"},{"name":"jteesang","email":"julia.tseng@vercel.com"},{"name":"pckirkland","email":"collier.kirkland@vercel.com"},{"name":"david_keefe","email":"david@davidkeefe.ca"},{"name":"jeffreypo","email":"jpopeufl@gmail.com"},{"name":"aormi-vercel","email":"aaron.ormiston@vercel.com"},{"name":"darafsheh","email":"shardaraf@gmail.com"},{"name":"marguin-vercel","email":"michael.arguin@vercel.com"},{"name":"markpython86","email":"mark.faraj86@gmail.com"},{"name":"lazarv","email":"lazarv1982@gmail.com"},{"name":"tonypan","email":"tony.pan@vercel.com"},{"name":"jackjacksonvercel","email":"jack.jackson@vercel.com"},{"name":"seif.ghezala","email":"seif@tinloof.com"},{"name":"ouassim-tinloof","email":"ouassim.ghribi@tinloof.com"},{"name":"miksu","email":"vojtech@miksu.cz"},{"name":"willsather","email":"will@sather.ws"},{"name":"amanazad","email":"aman.s.azad@gmail.com"},{"name":"cy-tek","email":"hannaford.joshua55@gmail.com"},{"name":"jacobparis","email":"jacob@jacobparis.com"},{"name":"tk04","email":"turkisaloufi@gmail.com"},{"name":"icyjoseph","email":"sephxd1234@gmail.com"},{"name":"whatplan","email":"ethan@niser.com"},{"name":"vercelliot","email":"elliot.dauber@vercel.com"},{"name":"lukesandberg","email":"lukeisandberg@gmail.com"},{"name":"nicolasmontone","email":"montonenicolas01@gmail.com"},{"name":"szymonrybczakck","email":"szymon.rybczak@callstack.com"},{"name":"okwasniewski","email":"oskarkwasniewski@icloud.com"},{"name":"edwardshturman","email":"hello+npm@edwardshturman.com"},{"name":"voodootikigod","email":"voodootikigod@gmail.com"},{"name":"anikasikka","email":"anika.sikka@vercel.com"},{"name":"justinkropp","email":"justinkropp+npm@gmail.com"},{"name":"joselv","email":"jose.valle@vercel.com"},{"name":"nebrelbug","email":"nebrelbug@gmail.com"},{"name":"satya-callstack","email":"satyajit.sahoo@callstack.com"},{"name":"christianhubbard","email":"christianhubbard92@gmail.com"},{"name":"woshuajolk","email":"joshgwolk@gmail.com"},{"name":"bennor","email":"bennor@gmail.com"},{"name":"strangle","email":"your@afterima.ge"},{"name":"mactastic007","email":"rahsunm+npm@gmail.com"},{"name":"bmishkin","email":"bm641024@gmail.com"},{"name":"gurshdev","email":"gurshan@gursh.dev"},{"name":"mshepanesh","email":"milosz.szczepanek@callstack.com"},{"name":"karimhasebou","email":"karim.hasebou@gmail.com"},{"name":"williambout","email":"william.bout@me.com"},{"name":"pranaygp","email":"pranay.gp@gmail.com"},{"name":"sachinraja","email":"sachinraja2349@gmail.com"},{"name":"alex-grover","email":"hello@alexgrover.me"},{"name":"joshlipman","email":"joshlipman@g.ucla.edu"},{"name":"chrmcd-ver","email":"chris.mcdonald@vercel.com"},{"name":"http-samc","email":"chitgopekarsamarth@gmail.com"},{"name":"allenzhou101","email":"allen.zhou101@gmail.com"},{"name":"dmori","email":"david.mori@vercel.com"},{"name":"iansbrash","email":"brash@usc.edu"},{"name":"alice-wondered","email":"alice.wood@disroot.org"},{"name":"matchai","email":"hello@matchai.dev"},{"name":"vishalyathish","email":"vishal.yathish@vercel.com"},{"name":"samselikoff","email":"sam.selikoff@gmail.com"},{"name":"mrsasuu_ck","email":"antonio.benitez@callstack.com"},{"name":"mtoth-vercel","email":"michael.toth@vercel.com"},{"name":"anshuman71","email":"anshu5074@gmail.com"},{"name":"runewolf7","email":"chris+digital@chrishahn.me"},{"name":"rohantaneja-vercel","email":"rohan.taneja@vercel.com"},{"name":"hp_arora","email":"harpreet.aneet@gmail.com"},{"name":"joyboy-0","email":"falamino00@gmail.com"},{"name":"matiasperz","email":"matiasperezpc2@gmail.com"},{"name":"jvercel","email":"justin.vitale@vercel.com"},{"name":"tannervercel","email":"tanner.godarzi@vercel.com"},{"name":"gi_wrighty","email":"wrighty@gmail.com"},{"name":"matthewstanciu","email":"mattbstanciu@gmail.com"},{"name":"jnsahaj","email":"sahajjain13@gmail.com"},{"name":"rickeymcgregor","email":"rickeymcgregor01@gmail.com"},{"name":"richardkunkli","email":"richard.kunkli@vercel.com"}],"homepage":"https://vercel.com/docs","bugs":{"url":"https://github.com/vercel/vercel/issues"},"dist":{"shasum":"ea949d2a95817bbf804ceb5ae685082c78d8f6ed","tarball":"https://registry.npmjs.org/@vercel/detect-agent/-/detect-agent-0.1.0.tgz","fileCount":5,"integrity":"sha512-92ReJzZk7hV0Q5ePgyVgkN3pkVqb/BnGFGmDxUK+1ae1KX2y9zl/QVt/O1te3BQrLI5Si17lN++QoyC+u0A/rA==","signatures":[{"sig":"MEUCIAHLay4G7eKlHZm3Jr+9PfH78b1ClDiHBXd8WizXu7azAiEA6zOmxhLQZb5b2KBxPMth9624cB41MKYF5vaveGrwj1I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@vercel%2fdetect-agent@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":15420},"main":"./dist/index.js","_from":"file:vercel-detect-agent-0.1.0.tgz","types":"./dist/index.d.ts","scripts":{"build":"node ../../utils/build.mjs","type-check":"tsc --noEmit","vitest-run":"vitest -c ../../vitest.config.mts","vitest-unit":"glob --absolute 'test/unit/**/*.test.ts' 'test/unit/**/*.test.mts'"},"_npmUser":{"name":"vercel-release-bot","email":"infra+release@vercel.com"},"_resolved":"/tmp/72307dd14dd50c5532176106f424392c/vercel-detect-agent-0.1.0.tgz","_integrity":"sha512-92ReJzZk7hV0Q5ePgyVgkN3pkVqb/BnGFGmDxUK+1ae1KX2y9zl/QVt/O1te3BQrLI5Si17lN++QoyC+u0A/rA==","repository":{"url":"git+https://github.com/vercel/vercel.git","type":"git","directory":"packages/detect-agent"},"_npmVersion":"9.9.4","directories":{},"_nodeVersion":"18.20.8","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.1.6","vitest":"^2.0.1","mock-fs":"5.5.0","@types/mock-fs":"4.13.4"},"_npmOperationalInternal":{"tmp":"tmp/detect-agent_0.1.0_1755117682458_0.02620306009036577","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@vercel/detect-agent","version":"0.2.0","license":"Apache-2.0","_id":"@vercel/detect-agent@0.2.0","maintainers":[{"name":"matheuss","email":"matheus.frndes@gmail.com"},{"name":"chriswdmr","email":"github.wolle404@gmail.com"},{"name":"nick.tracey","email":"nick.tracey@vercel.com"},{"name":"matt.straka","email":"matt.j.straka@gmail.com"},{"name":"vercel-release-bot","email":"infra+release@vercel.com"},{"name":"quietshu","email":"g@shud.in"},{"name":"ijjk","email":"jj@jjsweb.site"},{"name":"zeit-bot","email":"team@zeit.co"}],"homepage":"https://vercel.com/docs","bugs":{"url":"https://github.com/vercel/vercel/issues"},"dist":{"shasum":"a278feb053190d7f7cb34c548f5d04f42940628a","tarball":"https://registry.npmjs.org/@vercel/detect-agent/-/detect-agent-0.2.0.tgz","fileCount":5,"integrity":"sha512-qf10Q2UwlbJAcWVqQGkyp9OlLBn9Aj2VVE0M4mTDe0gpB7Fo8qycTJLccDbHeyLrWnT6Q12sVy9ZYHas7B+rwg==","signatures":[{"sig":"MEUCICJg2FyU4ksBk8HD6tj6JbP1g//hVFVT4KFcJH80A8xjAiEAuQb1trhzeu/QFn6ysoR5a7xJrNyQBsWDmtpxUpY4+wA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@vercel%2fdetect-agent@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":16114},"main":"./dist/index.js","_from":"file:vercel-detect-agent-0.2.0.tgz","types":"./dist/index.d.ts","scripts":{"build":"node ../../utils/build.mjs","type-check":"tsc --noEmit","vitest-run":"vitest -c ../../vitest.config.mts","vitest-unit":"glob --absolute 'test/unit/**/*.test.ts' 'test/unit/**/*.test.mts'"},"_npmUser":{"name":"vercel-release-bot","email":"infra+release@vercel.com"},"_resolved":"/tmp/7ddc86c9d426025c6631d31861049b06/vercel-detect-agent-0.2.0.tgz","_integrity":"sha512-qf10Q2UwlbJAcWVqQGkyp9OlLBn9Aj2VVE0M4mTDe0gpB7Fo8qycTJLccDbHeyLrWnT6Q12sVy9ZYHas7B+rwg==","repository":{"url":"git+https://github.com/vercel/vercel.git","type":"git","directory":"packages/detect-agent"},"_npmVersion":"9.9.4","directories":{},"_nodeVersion":"18.20.8","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.1.6","vitest":"^2.0.1","mock-fs":"5.5.0","@types/mock-fs":"4.13.4"},"_npmOperationalInternal":{"tmp":"tmp/detect-agent_0.2.0_1755280325456_0.19599492680286734","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@vercel/detect-agent","version":"1.0.0","keywords":["ai","agent","detection","environment","cursor","claude","devin","automation","ai-agent"],"author":{"name":"Vercel"},"license":"Apache-2.0","_id":"@vercel/detect-agent@1.0.0","maintainers":[{"name":"nick.tracey","email":"nick.tracey@vercel.com"},{"name":"matt.straka","email":"matt.j.straka@gmail.com"},{"name":"vercel-release-bot","email":"infra+release@vercel.com"},{"name":"zeit-bot","email":"team@zeit.co"}],"homepage":"https://github.com/vercel/vercel/tree/main/packages/detect-agent#readme","bugs":{"url":"https://github.com/vercel/vercel/issues"},"dist":{"shasum":"acbfb2214fd8628dcc76c47ed62fdb10c893d25c","tarball":"https://registry.npmjs.org/@vercel/detect-agent/-/detect-agent-1.0.0.tgz","fileCount":7,"integrity":"sha512-AIPgNkmtFcDgPCl+xvTT1ga90OL7OTX2RKM4zu0PMpwBthPfN2DpdHy10n3bh8K+CA22GDU0/ncjzprZsrk0sw==","signatures":[{"sig":"MEUCIQC0CgoMnWYLqaTA4LW56NvDS6Vw4mF7o8Vrfhivox8LqwIgNZE5AguvtUcRao7zyfszCpuUkjQevoUbz/AGkCNBRn4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@vercel%2fdetect-agent@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":21999},"main":"./dist/index.js","_from":"file:vercel-detect-agent-1.0.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=14"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"test":"vitest -c ../../vitest.config.mts","build":"node ../../utils/build.mjs","type-check":"tsc --noEmit"},"_npmUser":{"name":"vercel-release-bot","email":"infra+release@vercel.com"},"_resolved":"/tmp/c3af1b858c2c67c36ed124b7ac7f1069/vercel-detect-agent-1.0.0.tgz","_integrity":"sha512-AIPgNkmtFcDgPCl+xvTT1ga90OL7OTX2RKM4zu0PMpwBthPfN2DpdHy10n3bh8K+CA22GDU0/ncjzprZsrk0sw==","repository":{"url":"git+https://github.com/vercel/vercel.git","type":"git","directory":"packages/detect-agent"},"_npmVersion":"9.9.4","description":"Detect if code is running in an AI agent or automated development environment","directories":{},"_nodeVersion":"22.19.0","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.1.6","vitest":"^2.0.1","mock-fs":"5.5.0","@types/mock-fs":"4.13.4"},"_npmOperationalInternal":{"tmp":"tmp/detect-agent_1.0.0_1758581160202_0.4274089129125829","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@vercel/detect-agent","version":"1.1.0","keywords":["ai","agent","detection","environment","cursor","claude","devin","automation","ai-agent"],"author":{"name":"Vercel"},"license":"Apache-2.0","_id":"@vercel/detect-agent@1.1.0","maintainers":[{"name":"vercel-release-bot","email":"infra+release@vercel.com"},{"name":"zeit-bot","email":"team@zeit.co"}],"homepage":"https://github.com/vercel/vercel/tree/main/packages/detect-agent#readme","bugs":{"url":"https://github.com/vercel/vercel/issues"},"dist":{"shasum":"395980350942dad1125bb19cacc73c58de8921c1","tarball":"https://registry.npmjs.org/@vercel/detect-agent/-/detect-agent-1.1.0.tgz","fileCount":7,"integrity":"sha512-Zfq6FbIcYl9gaAmVu6ROsqUiCNwpEj3Ljz/tMX5fl12Z95OFOxzf7vlO03WE5JBU/ri1tBDFHnW41dihMINOPQ==","signatures":[{"sig":"MEUCIFV/qz+m1mCtSmA7IcvCvwpakdbWdsc6kTvgsmMVN8d2AiEAp5tU18LlGl7TJG8F3lijRBtfPU+XGolpG/R40Tq2b1o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@vercel%2fdetect-agent@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22891},"main":"./dist/index.js","_from":"file:vercel-detect-agent-1.1.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=14"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"test":"vitest -c ../../vitest.config.mts","build":"node ../../utils/build.mjs","type-check":"tsc --noEmit"},"_npmUser":{"name":"vercel-release-bot","email":"infra+release@vercel.com"},"_resolved":"/tmp/e9b73aba2dcbd77ea9a39e8bdc8a57dc/vercel-detect-agent-1.1.0.tgz","_integrity":"sha512-Zfq6FbIcYl9gaAmVu6ROsqUiCNwpEj3Ljz/tMX5fl12Z95OFOxzf7vlO03WE5JBU/ri1tBDFHnW41dihMINOPQ==","repository":{"url":"git+https://github.com/vercel/vercel.git","type":"git","directory":"packages/detect-agent"},"_npmVersion":"9.9.4","description":"Detect if code is running in an AI agent or automated development environment","directories":{},"_nodeVersion":"22.22.0","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.1.6","vitest":"^2.0.1","mock-fs":"5.5.0","@types/mock-fs":"4.13.4"},"_npmOperationalInternal":{"tmp":"tmp/detect-agent_1.1.0_1769212243095_0.5160951193168726","host":"s3://npm-registry-packages-npm-production"}},"1.2.0-canary.20260211173433.cdd2da6":{"name":"@vercel/detect-agent","version":"1.2.0-canary.20260211173433.cdd2da6","keywords":["ai","agent","detection","environment","cursor","claude","devin","automation","ai-agent"],"author":{"name":"Vercel"},"license":"Apache-2.0","_id":"@vercel/detect-agent@1.2.0-canary.20260211173433.cdd2da6","maintainers":[{"name":"vercel-release-bot","email":"infra+release@vercel.com"},{"name":"zeit-bot","email":"team@zeit.co"}],"homepage":"https://github.com/vercel/vercel/tree/main/packages/detect-agent#readme","bugs":{"url":"https://github.com/vercel/vercel/issues"},"dist":{"shasum":"c449ecaf99a8a7f2f014e637d8bb24a92ad8048d","tarball":"https://registry.npmjs.org/@vercel/detect-agent/-/detect-agent-1.2.0-canary.20260211173433.cdd2da6.tgz","fileCount":7,"integrity":"sha512-PjdsZFAz74Sev6vsc/YLDn7U11J9HgePPVzlu6IHXKRKa1CgwgSlAYMhpZVzLeMlcFLlGL3KUtpoDYyKbseOWw==","signatures":[{"sig":"MEUCICd9H2U2iWSUfDVgn+otVEDySYZh+XDxgdykc21sxkJtAiEAxNburcrkyIL27XWtzjl/I+HvH98HzWySlQ2otSXDbLw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@vercel%2fdetect-agent@1.2.0-canary.20260211173433.cdd2da6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22921},"main":"./dist/index.js","_from":"file:vercel-detect-agent-1.2.0-canary.20260211173433.cdd2da6.tgz","types":"./dist/index.d.ts","engines":{"node":">=14"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"test":"vitest -c ../../vitest.config.mts","build":"node ../../utils/build.mjs","type-check":"tsc --noEmit"},"_npmUser":{"name":"vercel-release-bot","email":"infra+release@vercel.com"},"_resolved":"/tmp/2dcb3d91529645bc753eb09213383d15/vercel-detect-agent-1.2.0-canary.20260211173433.cdd2da6.tgz","_integrity":"sha512-PjdsZFAz74Sev6vsc/YLDn7U11J9HgePPVzlu6IHXKRKa1CgwgSlAYMhpZVzLeMlcFLlGL3KUtpoDYyKbseOWw==","repository":{"url":"git+https://github.com/vercel/vercel.git","type":"git","directory":"packages/detect-agent"},"_npmVersion":"9.9.4","description":"Detect if code is running in an AI agent or automated development environment","directories":{},"_nodeVersion":"22.22.0","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vite":"^5.1.6","vitest":"^2.0.1","mock-fs":"5.5.0","@types/mock-fs":"4.13.4"},"_npmOperationalInternal":{"tmp":"tmp/detect-agent_1.2.0-canary.20260211173433.cdd2da6_1770831292481_0.9163042490238349","host":"s3://npm-registry-packages-npm-production"}},"1.2.0-canary.20260211174907.cdd2da6":{"name":"@vercel/detect-agent","version":"1.2.0-canary.20260211174907.cdd2da6","keywords":["ai","agent","detection","environment","cursor","claude","devin","automation","ai-agent"],"author":{"name":"Vercel"},"license":"Apache-2.0","_id":"@vercel/detect-agent@1.2.0-canary.20260211174907.cdd2da6","maintainers":[{"name":"vercel-release-bot","email":"infra+release@vercel.com"},{"name":"zeit-bot","email":"team@zeit.co"}],"homepage":"https://github.com/vercel/vercel/tree/main/packages/detect-agent#readme","bugs":{"url":"https://github.com/vercel/vercel/issues"},"dist":{"shasum":"e3b293c67c71038a418683aa4eed8c9158f35dde","tarball":"https://registry.npmjs.org/@vercel/detect-agent/-/detect-agent-1.2.0-canary.20260211174907.cdd2da6.tgz","fileCount":7,"integrity":"sha512-OsIH1LgtWbSoPa7ssvvcz+ZTtLAuPqI+le1O9KHQNJWwYkMSFoqgSr9lyIG1cuJSK2ZP/z3PUkfTH/y3wl572w==","signatures":[{"sig":"MEQCIB5gY7c9c4m9cpcHDPft5IYQB3/zhbdgxhP1CnkpXgUkAiBeUiFdIIwUopdmF4QL0ew2WY+eYmWNYpNzzmlSffZ/GA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@vercel%2fdetect-agent@1.2.0-canary.20260211174907.cdd2da6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22921},"main":"./dist/index.js","_from":"file:vercel-detect-agent-1.2.0-canary.20260211174907.cdd2da6.tgz","types":"./dist/index.d.ts","engines":{"node":">=14"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"test":"vitest -c ../../vitest.config.mts","build":"node ../../utils/build.mjs","type-check":"tsc --noEmit"},"_npmUser":{"name":"vercel-release-bot","email":"infra+release@vercel.com"},"_resolved":"/tmp/bd81e9f65a1b45a156f06ac536fdee8a/vercel-detect-agent-1.2.0-canary.20260211174907.cdd2da6.tgz","_integrity":"sha512-OsIH1LgtWbSoPa7ssvvcz+ZTtLAuPqI+le1O9KHQNJWwYkMSFoqgSr9lyIG1cuJSK2ZP/z3PUkfTH/y3wl572w==","repository":{"url":"git+https://github.com/vercel/vercel.git","type":"git","directory":"packages/detect-agent"},"_npmVersion":"9.9.4","description":"Detect if code is running in an AI agent or automated development environment","directories":{},"_nodeVersion":"22.22.0","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vite":"^5.1.6","vitest":"^2.0.1","mock-fs":"5.5.0","@types/mock-fs":"4.13.4"},"_npmOperationalInternal":{"tmp":"tmp/detect-agent_1.2.0-canary.20260211174907.cdd2da6_1770832199563_0.5351154708819446","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@vercel/detect-agent","version":"1.1.1","keywords":["ai","agent","detection","environment","cursor","claude","devin","automation","ai-agent"],"author":{"name":"Vercel"},"license":"Apache-2.0","_id":"@vercel/detect-agent@1.1.1","maintainers":[{"name":"vercel-release-bot","email":"infra+release@vercel.com"},{"name":"zeit-bot","email":"team@zeit.co"}],"homepage":"https://github.com/vercel/vercel/tree/main/packages/detect-agent#readme","bugs":{"url":"https://github.com/vercel/vercel/issues"},"dist":{"shasum":"f1020a5b56199089b7930c677e1acc3232aef79d","tarball":"https://registry.npmjs.org/@vercel/detect-agent/-/detect-agent-1.1.1.tgz","fileCount":7,"integrity":"sha512-nSdE8qynHTGQdI6yCNsFnNctqFRBNQceO/K1x+i0VruCtMP1Qzzkjj0oLnqfTRcqLcy/oZMF68lYk3zgKjHhDQ==","signatures":[{"sig":"MEYCIQCTgTWoptumxD93yCWMPFE0g1Wt6u54zLQhYMEDMsbbawIhALBAO8HH60L2Ht4epEl5Dnu6HS4R2N9r5rnbJh2IRoi2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@vercel%2fdetect-agent@1.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":23735},"main":"./dist/index.js","_from":"file:vercel-detect-agent-1.1.1.tgz","types":"./dist/index.d.ts","engines":{"node":">=14"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"test":"vitest -c ../../vitest.config.mts","build":"node ../../utils/build.mjs","type-check":"tsc --noEmit"},"_npmUser":{"name":"vercel-release-bot","email":"infra+release@vercel.com"},"_resolved":"/tmp/885ab69b785e70fc6e777809e85b5583/vercel-detect-agent-1.1.1.tgz","_integrity":"sha512-nSdE8qynHTGQdI6yCNsFnNctqFRBNQceO/K1x+i0VruCtMP1Qzzkjj0oLnqfTRcqLcy/oZMF68lYk3zgKjHhDQ==","repository":{"url":"git+https://github.com/vercel/vercel.git","type":"git","directory":"packages/detect-agent"},"_npmVersion":"9.9.4","description":"Detect if code is running in an AI agent or automated development environment","directories":{},"_nodeVersion":"22.22.0","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.1.6","vitest":"^2.0.1","mock-fs":"5.5.0","@types/mock-fs":"4.13.4"},"_npmOperationalInternal":{"tmp":"tmp/detect-agent_1.1.1_1773084685430_0.7420962183285555","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@vercel/detect-agent","version":"1.2.0","keywords":["ai","agent","detection","environment","cursor","claude","devin","automation","ai-agent"],"author":{"name":"Vercel"},"license":"Apache-2.0","_id":"@vercel/detect-agent@1.2.0","maintainers":[{"name":"vercel-release-bot","email":"infra+release@vercel.com"},{"name":"zeit-bot","email":"team@zeit.co"}],"homepage":"https://github.com/vercel/vercel/tree/main/packages/detect-agent#readme","bugs":{"url":"https://github.com/vercel/vercel/issues"},"dist":{"shasum":"c4c8194837da23813519c97654913da29baaf885","tarball":"https://registry.npmjs.org/@vercel/detect-agent/-/detect-agent-1.2.0.tgz","fileCount":7,"integrity":"sha512-kY0+TPdYr170bVmVSCg0XvwakWQMENy79uf/sM86DF/HVabaagdTjPwSPujlZid6Bgr66R4kHhjg4bkOxEzFDA==","signatures":[{"sig":"MEYCIQDgtJx+P6BTEFA/DDVf9kkMsr994Wy6tG8irV2wO9AkwQIhAMzdAeZWlo43eKmL3CJC529dPbtOw45DUQAtGlPexOZn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@vercel%2fdetect-agent@1.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24328},"main":"./dist/index.js","_from":"file:vercel-detect-agent-1.2.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=14"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"test":"vitest -c ../../vitest.config.mts","build":"node ../../utils/build.mjs","type-check":"tsc --noEmit"},"_npmUser":{"name":"vercel-release-bot","email":"infra+release@vercel.com"},"_resolved":"/tmp/2b3452f40ab788d8af3640f7df5f1df8/vercel-detect-agent-1.2.0.tgz","_integrity":"sha512-kY0+TPdYr170bVmVSCg0XvwakWQMENy79uf/sM86DF/HVabaagdTjPwSPujlZid6Bgr66R4kHhjg4bkOxEzFDA==","repository":{"url":"git+https://github.com/vercel/vercel.git","type":"git","directory":"packages/detect-agent"},"_npmVersion":"9.9.4","description":"Detect if code is running in an AI agent or automated development environment","directories":{},"_nodeVersion":"22.22.0","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.1.6","vitest":"^2.0.1","mock-fs":"5.5.0","@types/mock-fs":"4.13.4"},"_npmOperationalInternal":{"tmp":"tmp/detect-agent_1.2.0_1773196773833_0.3621397082883073","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@vercel/detect-agent","version":"1.2.1","keywords":["ai","agent","detection","environment","cursor","claude","devin","automation","ai-agent"],"author":{"name":"Vercel"},"license":"Apache-2.0","_id":"@vercel/detect-agent@1.2.1","maintainers":[{"name":"vercel-release-bot","email":"infra+release@vercel.com"},{"name":"zeit-bot","email":"team@zeit.co"}],"homepage":"https://github.com/vercel/vercel/tree/main/packages/detect-agent#readme","bugs":{"url":"https://github.com/vercel/vercel/issues"},"dist":{"shasum":"10e91be8abffabde7fa7ae56947659acec3cdba3","tarball":"https://registry.npmjs.org/@vercel/detect-agent/-/detect-agent-1.2.1.tgz","fileCount":7,"integrity":"sha512-U/BJCltQSTFTHwaiCQQTQG3GonTbRoEewjV+OU2mMjcHLAoPOh6CP1SXA2XNmqiqI3c82nkRNJ7piZ14RqmTXw==","signatures":[{"sig":"MEUCIGVlby3obiXoa7y2E9WXp7ktMHpeYij8S2sH9rHm9WO+AiEAm6JanYrUa1l8B3MR1X7ljhOuxXDl3yEhIMksWG3K3bU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@vercel%2fdetect-agent@1.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":25784},"main":"./dist/index.js","_from":"file:vercel-detect-agent-1.2.1.tgz","types":"./dist/index.d.ts","engines":{"node":">=14"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"test":"vitest -c ../../vitest.config.mts","build":"node ../../utils/build.mjs","type-check":"tsc --noEmit"},"_npmUser":{"name":"vercel-release-bot","email":"infra+release@vercel.com"},"_resolved":"/tmp/b1767026b592b03583d739a5bcaec0c3/vercel-detect-agent-1.2.1.tgz","_integrity":"sha512-U/BJCltQSTFTHwaiCQQTQG3GonTbRoEewjV+OU2mMjcHLAoPOh6CP1SXA2XNmqiqI3c82nkRNJ7piZ14RqmTXw==","repository":{"url":"git+https://github.com/vercel/vercel.git","type":"git","directory":"packages/detect-agent"},"_npmVersion":"9.9.4","description":"Detect if code is running in an AI agent or automated development environment","directories":{},"_nodeVersion":"22.22.0","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.1.6","vitest":"^2.0.1","mock-fs":"5.5.0","@types/mock-fs":"4.13.4"},"_npmOperationalInternal":{"tmp":"tmp/detect-agent_1.2.1_1773245071925_0.09121659017289807","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"@vercel/detect-agent","version":"1.2.2","keywords":["ai","agent","detection","environment","cursor","claude","devin","automation","ai-agent"],"author":{"name":"Vercel"},"license":"Apache-2.0","_id":"@vercel/detect-agent@1.2.2","maintainers":[{"name":"vercel-release-bot","email":"infra+release@vercel.com"},{"name":"zeit-bot","email":"team@zeit.co"}],"homepage":"https://github.com/vercel/vercel/tree/main/packages/detect-agent#readme","bugs":{"url":"https://github.com/vercel/vercel/issues"},"dist":{"shasum":"aaa3b53c10cfdbfe9c225c64f9e0b2fbb7a96ab8","tarball":"https://registry.npmjs.org/@vercel/detect-agent/-/detect-agent-1.2.2.tgz","fileCount":7,"integrity":"sha512-bKhhKKPuI37oMUlMA90eplt+QSp8T/t2WDfF+CP9PBA/YTkCADI8D/dECB5sJa9BWxq3+jxO52UsDy0F7Gl51g==","signatures":[{"sig":"MEYCIQDR4ERf+3+JnqcGVCA+RRW6JMpz9ob+AqfXpldMn5fE6QIhAKMK/hhGKAwQaTdQF5py3DXF+frqZbZm/vmoDQarQ9F7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@vercel%2fdetect-agent@1.2.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26174},"main":"./dist/index.js","_from":"file:vercel-detect-agent-1.2.2.tgz","types":"./dist/index.d.ts","engines":{"node":">=14"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"test":"vitest -c ../../vitest.config.mts","build":"node ../../utils/build.mjs","type-check":"tsc --noEmit"},"_npmUser":{"name":"vercel-release-bot","email":"infra+release@vercel.com"},"_resolved":"/tmp/f601ff983c7c29fc659a3b4029c1a1f2/vercel-detect-agent-1.2.2.tgz","_integrity":"sha512-bKhhKKPuI37oMUlMA90eplt+QSp8T/t2WDfF+CP9PBA/YTkCADI8D/dECB5sJa9BWxq3+jxO52UsDy0F7Gl51g==","repository":{"url":"git+https://github.com/vercel/vercel.git","type":"git","directory":"packages/detect-agent"},"_npmVersion":"9.9.4","description":"Detect if code is running in an AI agent or automated development environment","directories":{},"_nodeVersion":"22.22.2","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.1.6","vitest":"^2.0.1","mock-fs":"5.5.0","@types/mock-fs":"4.13.4"},"_npmOperationalInternal":{"tmp":"tmp/detect-agent_1.2.2_1775808094793_0.5360362900049582","host":"s3://npm-registry-packages-npm-production"}},"1.2.3":{"name":"@vercel/detect-agent","version":"1.2.3","keywords":["ai","agent","detection","environment","cursor","claude","devin","automation","ai-agent"],"author":{"name":"Vercel"},"license":"Apache-2.0","_id":"@vercel/detect-agent@1.2.3","maintainers":[{"name":"vercel-release-bot","email":"infra+release@vercel.com"},{"name":"zeit-bot","email":"team@zeit.co"}],"homepage":"https://github.com/vercel/vercel/tree/main/packages/detect-agent#readme","bugs":{"url":"https://github.com/vercel/vercel/issues"},"dist":{"shasum":"e94d3428863be617fdc620219313db41da0b763f","tarball":"https://registry.npmjs.org/@vercel/detect-agent/-/detect-agent-1.2.3.tgz","fileCount":7,"integrity":"sha512-VYNCgUc0nOmC4WJmWw9GkrKdfr8Zl4/rxhC5SvgacBgxiW9W/9NRttUoHHXV8xdII3MaRgkZZVX8Ikzc/Jmjag==","signatures":[{"sig":"MEUCIDFTW8bPnLURA+b0SJKJzYar93P2aFUsx4t8DfyvyIWSAiEA9EMxCrJPXHBi+U3jNg4vlW2c8f8NEQz805cHeAxhYxs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@vercel%2fdetect-agent@1.2.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26691},"main":"./dist/index.js","_from":"file:vercel-detect-agent-1.2.3.tgz","types":"./dist/index.d.ts","engines":{"node":">=14"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"test":"vitest -c ../../vitest.config.mts","build":"node ../../utils/build.mjs","type-check":"tsc --noEmit"},"_npmUser":{"name":"vercel-release-bot","email":"infra+release@vercel.com"},"_resolved":"/tmp/81c408f22c9448a2639a516237f3373e/vercel-detect-agent-1.2.3.tgz","_integrity":"sha512-VYNCgUc0nOmC4WJmWw9GkrKdfr8Zl4/rxhC5SvgacBgxiW9W/9NRttUoHHXV8xdII3MaRgkZZVX8Ikzc/Jmjag==","repository":{"url":"git+https://github.com/vercel/vercel.git","type":"git","directory":"packages/detect-agent"},"_npmVersion":"9.9.4","description":"Detect if code is running in an AI agent or automated development environment","directories":{},"_nodeVersion":"22.22.2","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.1.6","vitest":"^2.0.1","mock-fs":"5.5.0","@types/mock-fs":"4.13.4"},"_npmOperationalInternal":{"tmp":"tmp/detect-agent_1.2.3_1776393040381_0.24611166013727748","host":"s3://npm-registry-packages-npm-production"}},"1.2.4":{"name":"@vercel/detect-agent","version":"1.2.4","keywords":["ai","agent","detection","environment","cursor","claude","devin","automation","ai-agent"],"author":{"name":"Vercel"},"license":"Apache-2.0","_id":"@vercel/detect-agent@1.2.4","maintainers":[{"name":"matheuss","email":"matheus.frndes@gmail.com"},{"name":"matt.straka","email":"matt.j.straka@gmail.com"},{"name":"vercel-release-bot","email":"infra+release@vercel.com"},{"name":"zeit-bot","email":"team@zeit.co"}],"homepage":"https://github.com/vercel/vercel/tree/main/packages/detect-agent#readme","bugs":{"url":"https://github.com/vercel/vercel/issues"},"dist":{"shasum":"61dfcbe1b89d91c12eac4bbc7bcbd278921363d1","tarball":"https://registry.npmjs.org/@vercel/detect-agent/-/detect-agent-1.2.4.tgz","fileCount":6,"integrity":"sha512-euARTdvCVoi2k7/mqRUGyareO98jiVjwUyfJ8VFpN53aUv3R6ZgwSpU3ErOwFQKT6Fq8dOplEsy+DSmEoJPQdQ==","signatures":[{"sig":"MEUCIAScLs/JkJWy8pOzyvkJpGu3VMJrf+ZAePqtNSzrNxj8AiEA1Gs3ShjcXgCOlSrIvKFCF4FjZHzEdccLMD9PFGpOJTc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDT4e59SB32fgaxh49fLTrSuc7LGqtdffvU7dZhG6meKwIhAP0xzVfYXAVAgVbIeiwn4uZgs7bMIGkXMSiVwZFdC8ed","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23010},"main":"./dist/index.js","_from":"file:/tmp/tmp.VxOyp6VmAI/vercel-detect-agent-1.2.4.tgz","types":"./dist/index.d.ts","engines":{"node":">=14"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"test":"vitest -c ../../vitest.config.mts","build":"node ../../utils/build.mjs","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c027e976-2186-488f-a51f-ca59bd7e09a3"}},"_resolved":"/tmp/tmp.VxOyp6VmAI/vercel-detect-agent-1.2.4.tgz","_integrity":"sha512-euARTdvCVoi2k7/mqRUGyareO98jiVjwUyfJ8VFpN53aUv3R6ZgwSpU3ErOwFQKT6Fq8dOplEsy+DSmEoJPQdQ==","repository":{"url":"git+https://github.com/vercel/vercel.git","type":"git","directory":"packages/detect-agent"},"_npmVersion":"11.19.0","description":"Detect if code is running in an AI agent or automated development environment","directories":{},"_nodeVersion":"24.18.0","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.1.6","vitest":"^2.0.1","mock-fs":"5.5.0","@types/mock-fs":"4.13.4"},"_npmOperationalInternal":{"tmp":"tmp/detect-agent_1.2.4_1785795749974_0.3474218030751248","host":"s3://npm-registry-packages-npm-production"}},"1.2.5":{"_id":"@vercel/detect-agent@1.2.5","bugs":{"url":"https://github.com/vercel/vercel/issues"},"dist":{"shasum":"d9d928a4b808db0745fa9708ad02d0c531bd7554","tarball":"https://registry.npmjs.org/@vercel/detect-agent/-/detect-agent-1.2.5.tgz","fileCount":6,"integrity":"sha512-0krENrjuitlW8s6TJu0MlqCevyCU7K7JK63jZAf7xZ6n17tx+vUEwzHT3sTxawtwZxaW21hu+oFUpoOrm49FsQ==","signatures":[{"sig":"MEUCIGLItwPURona8nMWgtt0SoKh/N+VMruFdLYGjiHmMuz0AiEAmPDJ8+d8r5uJMbn3th0nEWM/o1fvxK9y6UxoxKTFCog=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIAqDnUwfkYLOKxtxHNxjPSle19FfWZXXA4fR4ED/ndMQAiAYkx5ea0Pu2HLoQ/g90ns/8D2zULIirWwbJJj2onbjBw=="}],"unpackedSize":23100},"main":"./dist/index.js","name":"@vercel/detect-agent","_from":"file:/tmp/tmp.EZHLEy2DVh/vercel-detect-agent-1.2.5.tgz","types":"./dist/index.d.ts","author":{"name":"Vercel"},"engines":{"node":">=14"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"license":"Apache-2.0","scripts":{"test":"vitest -c ../../vitest.config.mts","build":"node ../../utils/build.mjs","type-check":"tsc --noEmit"},"version":"1.2.5","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c027e976-2186-488f-a51f-ca59bd7e09a3"}},"homepage":"https://github.com/vercel/vercel/tree/main/packages/detect-agent#readme","keywords":["ai","agent","detection","environment","cursor","claude","devin","automation","ai-agent"],"_resolved":"/tmp/tmp.EZHLEy2DVh/vercel-detect-agent-1.2.5.tgz","_integrity":"sha512-0krENrjuitlW8s6TJu0MlqCevyCU7K7JK63jZAf7xZ6n17tx+vUEwzHT3sTxawtwZxaW21hu+oFUpoOrm49FsQ==","repository":{"url":"git+https://github.com/vercel/vercel.git","type":"git","directory":"packages/detect-agent"},"_npmVersion":"11.19.0","description":"Detect if code is running in an AI agent or automated development environment","directories":{},"maintainers":[{"name":"matheuss","email":"matheus.frndes@gmail.com"},{"name":"matt.straka","email":"matt.j.straka@gmail.com"},{"name":"vercel-release-bot","email":"infra+release@vercel.com"},{"name":"zeit-bot","email":"team@zeit.co"}],"_nodeVersion":"24.18.0","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.4.3","vitest":"^4.1.10","mock-fs":"5.5.0","@types/mock-fs":"4.13.4"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/detect-agent_1.2.5_1786463931721_0.910746379369541"}}},"time":{"created":"2025-08-13T20:41:22.348Z","modified":"2026-08-11T15:58:57.454Z","0.1.0":"2025-08-13T20:41:22.637Z","0.2.0":"2025-08-15T17:52:05.638Z","1.0.0":"2025-09-22T22:46:00.408Z","1.1.0":"2026-01-23T23:50:43.262Z","1.2.0-canary.20260211173433.cdd2da6":"2026-02-11T17:34:52.626Z","1.2.0-canary.20260211174907.cdd2da6":"2026-02-11T17:49:59.724Z","1.1.1":"2026-03-09T19:31:25.625Z","1.2.0":"2026-03-11T02:39:33.998Z","1.2.1":"2026-03-11T16:04:32.072Z","1.2.2":"2026-04-10T08:01:34.923Z","1.2.3":"2026-04-17T02:30:40.583Z","1.2.4":"2026-08-03T22:22:30.069Z","1.2.5":"2026-08-11T15:58:51.798Z"},"bugs":{"url":"https://github.com/vercel/vercel/issues"},"author":{"name":"Vercel"},"license":"Apache-2.0","homepage":"https://github.com/vercel/vercel/tree/main/packages/detect-agent#readme","keywords":["ai","agent","detection","environment","cursor","claude","devin","automation","ai-agent"],"repository":{"url":"git+https://github.com/vercel/vercel.git","type":"git","directory":"packages/detect-agent"},"description":"Detect if code is running in an AI agent or automated development environment","maintainers":[{"name":"matheuss","email":"matheus.frndes@gmail.com"},{"name":"matt.straka","email":"matt.j.straka@gmail.com"},{"name":"vercel-release-bot","email":"infra+release@vercel.com"},{"name":"zeit-bot","email":"team@zeit.co"}],"readme":"# @vercel/detect-agent\n\nA lightweight utility for detecting if code is being executed by an AI agent or automated development environment.\n\n## Installation\n\n```bash\nnpm install @vercel/detect-agent\n```\n\n## Usage\n\n```typescript\nimport { determineAgent } from '@vercel/detect-agent';\n\nconst { isAgent, agent } = await determineAgent();\n\nif (isAgent) {\n  console.log(`Running in ${agent.name} environment`);\n  // Adapt behavior for AI agent context\n}\n```\n\n## Supported Agents\n\nThis package can detect the following AI agents and development environments:\n\n- **Custom agents** via `AI_AGENT` environment variable\n- **Cursor** (cursor editor and cursor-cli)\n- **Claude Code** (Anthropic's Claude)\n- **Devin** (Cognition Labs)\n- **Gemini CLI** (Google)\n- **Codex** (OpenAI)\n- **Antigravity** (Google DeepMind)\n- **GitHub Copilot** (via `AI_AGENT=github-copilot|github-copilot-cli`, `COPILOT_MODEL`, `COPILOT_ALLOW_ALL`, or `COPILOT_GITHUB_TOKEN`)\n- **Replit** (online IDE)\n- **v0** (Vercel's AI assistant, via `AI_AGENT=v0`)\n\n## The AI_AGENT Standard\n\nWe're promoting `AI_AGENT` as a universal environment variable standard for AI development tools. This allows any tool or library to easily detect when it's running in an AI-driven environment.\n\n### For AI Tool Developers\n\nSet the `AI_AGENT` environment variable to identify your tool:\n\n```bash\nexport AI_AGENT=\"your-tool-name\"\n# or\nAI_AGENT=\"your-tool-name\" your-command\n```\n\n### Recommended Naming Convention\n\n- Use lowercase with hyphens for multi-word names\n- Include version information if needed, separated by an `@` symbol\n- Examples: `claude-code`, `cursor-cli`, `devin@1`, `custom-agent@2.0`\n\n## Use Cases\n\n### Adaptive Behavior\n\n```typescript\nimport { determineAgent } from '@vercel/detect-agent';\n\nasync function setupEnvironment() {\n  const { isAgent, agent } = await determineAgent();\n\n  if (isAgent) {\n    // Running in AI environment - adjust behavior\n    process.env.LOG_LEVEL = 'verbose';\n    console.log(`🤖 Detected AI agent: ${agent.name}`);\n  }\n}\n```\n\n### Telemetry and Analytics\n\n```typescript\nimport { determineAgent } from '@vercel/detect-agent';\n\nasync function trackUsage(event: string) {\n  const result = await determineAgent();\n\n  analytics.track(event, {\n    agent: result.isAgent ? result.agent.name : 'human',\n    timestamp: Date.now(),\n  });\n}\n```\n\n### Feature Toggles\n\n```typescript\nimport { determineAgent } from '@vercel/detect-agent';\n\nasync function shouldEnableFeature(feature: string) {\n  const result = await determineAgent();\n\n  // Enable experimental features for AI agents\n  if (result.isAgent && feature === 'experimental-ai-mode') {\n    return true;\n  }\n\n  return false;\n}\n```\n\n## Contributing\n\nWe welcome contributions! Please see our [contributing guidelines](../../CONTRIBUTING.md).\n\n### Adding New Agent Support\n\nTo add support for a new AI agent:\n\n1. Add detection logic to `src/index.ts`\n2. Add comprehensive test cases in `test/unit/determine-agent.test.ts`\n3. Update this README with the new agent information\n4. Follow the existing priority order pattern\n\n## Links\n\n- [GitHub Repository](https://github.com/vercel/vercel/tree/main/packages/detect-agent)\n- [npm Package](https://www.npmjs.com/package/@vercel/detect-agent)\n- [Vercel Documentation](https://vercel.com/docs)\n","readmeFilename":"README.md"}