1#![doc = include_str!("../README.crate.md")]
2#![forbid(unsafe_code)]
3#![doc = "Policy-neutral typed GitHub API wrapper boundary."]
4
5mod action;
6mod action_validation;
7mod artifacts;
8mod boundary;
9mod config;
10mod execution;
11mod execution_model;
12mod plan;
13mod reports;
14mod secret_boundary;
15#[cfg(test)]
16mod unit_tests;
17
18pub use action::{GitHubAction, GitHubRemoteExpectation, PermissionRequirement};
19pub use artifacts::{
20 GitHubSnapshotArtifact, GitHubSnapshotFile, GitHubTextArtifact, GitHubWorkflowInputsArtifact,
21 parse_snapshot_artifact, parse_text_artifact, parse_workflow_inputs_artifact,
22};
23pub use boundary::ConnectorError;
24pub use config::{ConnectorConfig, parse_config};
25pub use execution::{
26 execute_api_request, execute_configured_request, parse_api_request_json, validate_api_request,
27};
28pub use execution_model::{
29 GitHubApiReceipt, GitHubApiRequest, GitHubBackend, GitHubBackendReceipt,
30 RequestValidationReport,
31};
32pub use plan::{ConnectorPlan, PlanStep, build_plan};
33pub use reports::{
34 CapabilityReport, DoctorReport, ValidationReport, capabilities, doctor, validation_report,
35};
36
37pub const CONNECTOR: &str = "zixcel-github";
38pub const PROVIDER: &str = "github";
39pub const CONFIG_SCHEMA: &str = "zixcel://github/connector-config/v1";
40pub const PLAN_SCHEMA: &str = "zixcel://contracts/connector-plan/v1";
41pub const API_REQUEST_SCHEMA: &str = "zixcel://github/api-request/v1";
42pub const API_RECEIPT_SCHEMA: &str = "zixcel://github/api-receipt/v1";