Skip to main content

embassy_github/
lib.rs

1// Copyright 2024-2026 Reflective Labs
2// SPDX-License-Identifier: MIT
3
4//! GitHub port — organisations, repositories, contributors (REST + GraphQL).
5//!
6//! Sovereign integration in the embassy sense: this port's identity
7//! and contract (auth, ToS, rate-limit) are part of the API surface
8//! and cannot be abstracted behind a generic transport.
9//!
10//! ## Status
11//!
12//! **Skeleton only.** The typed domain has a minimal placeholder
13//! shape — newtype identifier + a bare `Organization` carrier. The
14//! Provider trait + `StubGithubProvider` are defined so callers can
15//! depend on the surface, but the live HTTP/API implementation is
16//! deferred until an app pulls hard enough to justify the work.
17//!
18//! Grow the domain types at that time, not before.
19
20mod error;
21mod provenance;
22mod provider;
23mod suggestor;
24mod types;
25
26pub use embassy_pack::{CallContext, Observation, content_hash};
27
28pub use error::GithubError;
29pub use provenance::{GITHUB_PROVENANCE, Github};
30pub use provider::{GithubProvider, GithubRequest, GithubResponse, StubGithubProvider};
31pub use suggestor::{GithubLookupSuggestor, GithubOrganizationPayload};
32pub use types::{OrgSlug, Organization};