Repository navigation
ebay.com: search, listing and seller tools with safe failures - #80
Merged
Merged
Conversation
… drop time-zone-less end times
…llow-ups, broaden postal-code redaction
…tests, correct docs
yummybomb
marked this pull request as ready for review
September 30, 2026 14:52
…listing # Conflicts: # registry.json
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds page-kind eBay marketplace tools:
search,get_listing, andget_seller_profile. Search supports sold/completed filters in an already signed-in browser and warns that sold Best Offer prices may differ from accepted prices.The updated sources validate input before interaction, support cancellation, return typed response-body/redirect failures, refuse verification-page invocations, bound returned text, redact recognized postal destinations, and return only canonical public image URLs from exact allowed hosts. Redirect follow-ups remain restricted to the same origin; request-chain costs and limitations are documented.
All tools are read-only. No cart/watchlist mutations, bids, offers, purchases, messages, onboarding or seller publishing are exposed. Cart and account-list access was unavailable behind contact-information/verification gates; populated data and action contracts were not guessed. Consequential execution is omitted because the runtime has no trusted exact-action human approval enforcement.
Tests
node scripts/validate-registry.mjs: 82 tools valid.node --test "tests/*.test.mjs": 1644 passed, 0 failed; 67 eBay fixture tests.node --test "extension/**/*.test.mjs": 14 passed.9f8f3bb: whole-namespace registration, sold-search success in an authorized session, and signed-out verification-page failures. No account mutations. Signed-in sold-only was not repeated on final source.9f8f3bbfound empty-key validation bypass and untyped malformed-variation errors; both were fixed at5cda1c1. First recheck signed off search/seller but found one nested listing-price coercion error. It was reproduced and fixed, including analogous shipping/currency paths, at0c0688f. Final allowed recheck signed off all three tools on that source; registry statuses areqa_passed, notverified. Final commit only records QA metadata/docs and leaves reviewed tool sources byte-identical.5cda1c1made exactly three real Kernel reads, all successful; extension checks were entirely emulated. Final-source recheck: one real Kernel listing read succeeded; 25 runtime outputs passed Ajv (one real success, 20 emulated outcomes, four no-request guards). Extension was entirely emulated. Namespace replacement and five cancellation phases per runtime passed; no all-tool real-success parity is claimed.Limitations
Account/cart/watchlist contracts are unavailable; final-source signed-in sold-only, wrong-account behavior and real non-US coverage remain untested. Bids/offers/purchases/publishing require manual handoff and are not executable. Unknown verification markup fails as
site_changed. See the domain README for output semantics, retry costs and evidence boundaries.This PR remains a draft; no auto-merge.