{"uid":"cap_KURkgDYjZC1D9KySs2UQw","slug":"forest-packages-package-registry-change-detector-7856c843","name":"Forest Packages – Package Registry Change Detector","description":"Detect whether normalized public npm or PyPI package registry state changed since a saved fingerprint. Returns a deterministic SHA-256 fingerprint for package/version existence, latest/resolved version, deprecation or yank state, license and runtime requirement. No dependency graph, vulnerability scan or registry mutation. Base mainnet USDC","url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/package/changed?utm_source=zero.xyz","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"package":{"type":"string","maxLength":214,"minLength":1,"description":"Public package name to inspect."},"version":{"type":"string","maxLength":128,"minLength":1,"description":"Package version whose public metadata should be checked."},"ecosystem":{"enum":["npm","pypi"],"description":"Public ecosystem value used to scope this lookup."},"previous_hash":{"type":["string","null"],"pattern":"^[a-fA-F0-9]{64}$","description":"Earlier result hash used to detect a material change."}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.002","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.002/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.002","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.002","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_6GdnPKD8qlo9m88t4tn_N","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.002","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Detects whether normalized npm or PyPI package metadata has changed since a saved SHA-256 fingerprint, covering version existence, deprecation, license, and runtime requirements.","exampleAgentPrompt":"Check whether the npm package lodash at version 4.17.21 has had any material public registry changes — deprecation, license, or latest version — since this previous hash: a3f1c2d4e5b6789012345678901234567890123456789012345678901234abcd.","exampleUseCases":[{"title":"Deprecation alert for CI pipeline","prompt":"Has the PyPI package requests at version 2.28.0 been yanked or deprecated since this fingerprint: b1a2c3d4e5f6789012345678901234567890123456789012345678901234ef56?"},{"title":"License compliance drift monitoring","prompt":"Check if the license on the npm package chalk version 5.3.0 has changed since I last fingerprinted it — here's the old hash: 1234abcd5678ef901234567890abcdef1234567890abcdef1234567890abcd12."},{"title":"Latest version drift detection for dependency bot","prompt":"Tell me if the latest published version of the PyPI package numpy has changed since this saved fingerprint: deadbeef1234567890abcdef1234567890abcdef1234567890abcdef12345678."}],"resultDescription":"Returns a deterministic SHA-256 fingerprint representing the current normalized public state of the package/version (version existence, latest/resolved version, deprecation or yank state, license, runtime requirements), plus a boolean or signal indicating whether the current state differs materially from the supplied previous_hash. No dependency graph, vulnerability data, or registry mutations are included.","failureModes":["Package not found in the specified ecosystem — returns error or null state","Invalid previous_hash format (not 64 hex chars) — rejected by schema validation","Ecosystem not supported beyond npm/pypi — request rejected","Registry API timeout or upstream outage — transient failure","Version string not found for the given package — may return empty or changed state","Payment not attached or insufficient USDC — x402 payment required error"],"whenToPreferThis":"Choose this endpoint when you need a lightweight, deterministic way to poll whether a specific npm or PyPI package's public metadata (version availability, deprecation, license, runtime req) has drifted from a known-good state — without needing a full vulnerability scan, dependency resolution, or graph traversal. Ideal for CI/CD monitors, dependency bots, compliance checkers, and supply chain watchers that need cheap, fast, idempotent change signals rather than a full audit.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-12T18:42:57.542Z","isFirstParty":false,"canonicalSlug":"forest-packages-package-registry-change-detector-7856c843"}