grabcli-core 0.1.0

Shared Grab session, auth, hydra and HTTP plumbing for grabcli
Documentation

grabcli-core

Shared session, auth and HTTP plumbing for grabcli.

This is an internal building block of the grab CLI, not a general-purpose library. Its API is not stable.

Modules

  • config: config.toml settings, including the allow_ordering gate.
  • session: saved Grab cookies and hydra token.
  • cdp: Chrome DevTools Protocol client for importing a logged-in browser's session and minting hydra.
  • sso, login: silent session refresh through the GrabID SSO cookie, and the browser-driven grab auth login (docs/auth.md).
  • cache: the SQLite response cache, searchable catalog and image store, for read-only browse data only.
  • hydra, jwt: the hydra device JWT (docs/hydra.md).
  • http: the HTTP client; every request is checked against a URL allowlist.
  • ctx: the per-command Context that owns config, session and client, and re-mints hydra on rejection.
  • error: one error type with stable kinds and exit codes.
  • location, money, output, paths: delivery address, centavo amounts, human/JSON output, file locations.
  • places: the account's saved places (one read-only GET) and the location cookie for one (docs/places.md).

How it fits

Service crates such as grabfood and grabmart register their allowlisted URLs and make every call through Context. The grabcli binary wires the services together.

See the root README's disclaimer.

License

Apache-2.0